From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0AADC3600C for ; Thu, 3 Apr 2025 18:20:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F3D1280008; Thu, 3 Apr 2025 14:20:29 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A27D280005; Thu, 3 Apr 2025 14:20:29 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 069C6280008; Thu, 3 Apr 2025 14:20:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DA05D280005 for ; Thu, 3 Apr 2025 14:20:28 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6E7E3B9E1B for ; Thu, 3 Apr 2025 18:20:29 +0000 (UTC) X-FDA: 83293547778.25.E2FCCD6 Received: from out-184.mta0.migadu.com (out-184.mta0.migadu.com [91.218.175.184]) by imf06.hostedemail.com (Postfix) with ESMTP id 83D0E180012 for ; Thu, 3 Apr 2025 18:20:27 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="cY/nynQM"; spf=pass (imf06.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1743704427; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=BCvOFpDPF7Loyqy9O0Y/KS9yPUnm7FsGL8ysTofncHs=; b=QxixqIVMImyv8n66TYBMw0qm3EGp+j/LxW7ajG/R//OIIiiJMj3EToRXFl1ZvylaGlEzPc 8pyvrXd3TISbN2dNICxTKzxV6wivEEY0tb2FRNPfpSkf6pf2W0PVP0mxa8yGeEAPwnit/6 f/sg/mKtl1TsYjTJpWuu+NuNg51+yQk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1743704427; a=rsa-sha256; cv=none; b=1M6oYQONPEIYS+WQCvBSwcJ4Gg1hR5y6uW40XJQs5nfmBDdv0luw5I50eRrgbSgEGUOezb NSELY6xEHAZ1AENUAQWJSFWpfZ94GH1Pkmnt9F7T+0RVOfD3jfckM0Ob2xsNR2Vzyy3YwS bLcowQgIkpxd4u2zXPnXV67glxPp/lw= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=linux.dev header.s=key1 header.b="cY/nynQM"; spf=pass (imf06.hostedemail.com: domain of shakeel.butt@linux.dev designates 91.218.175.184 as permitted sender) smtp.mailfrom=shakeel.butt@linux.dev; dmarc=pass (policy=none) header.from=linux.dev Date: Thu, 3 Apr 2025 11:20:18 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1743704425; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=BCvOFpDPF7Loyqy9O0Y/KS9yPUnm7FsGL8ysTofncHs=; b=cY/nynQMqor5N57jXvu1pQZt45yFHQ1iwKrt0t/Amvj5kdNetOEtR0bZv513ewqW88henj 3e+cwiqrA7OnI6UBE28BPgdS+6Lm77syi4QqFdysTqwm/K6jUWXh30iV2Wm/TpSm9i1Sks JKTv1S0k6gR2L7vaYr0ESq6zsU5bSy0= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Shakeel Butt To: Uladzislau Rezki Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, Meta kernel team Subject: Re: [PATCH] memcg: vmalloc: simplify MEMCG_VMALLOC updates Message-ID: References: <20250403053326.26860-1-shakeel.butt@linux.dev> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_OUT X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 83D0E180012 X-Stat-Signature: 61p3f1qi6e8sq3ffp7beae4z7j8s4tij X-HE-Tag: 1743704427-399371 X-HE-Meta: U2FsdGVkX1+opAWjSMZsq2pYIHTyenhuQ9dyjfJu59RhuV51nH1KPMkQZASqgSrYd03I9IouawUMrZFazMjFGkM79A1t4jSji36E5pIPOkGa1o38yF0TbHkwyzpuPihUrLOVhPAsVb4njzLYy6RmJQWwP9E5sRaXVeluDCOFVBpGJI5cbt/dmWkR1ksqSZDLapxFnh0qEpAopHPd6wJsgI0ZYF1lblDZDlM4ZfYxoYuO3PEPUNIgA3bcAOpml6xADgUD4kM+5VgjVRnBdCn2mfhPAANzSsUAP0FMBcbCvpGNGLRN0EerhxJwf/KPVluDIsPZ4DXMI7+kdiuiF0SIKnB4f9UH8ylFIJokSdWuY+VgeK8swFbU3Or1dG1zvGxhUYAwGpYLfnxh+p/Hv+N3k5nzdCZf3iZoWNnGKhPZBk/MiW7/NW2vQMs3nSzjtR6DHutPSWPViEo80Dg/Rf2fdUlN4icCLkGtrUu1GtjSsYTV+DCqHLbNCayYcB44VQYDNm5QcGzPKt/eHNCAKNsFu4gk+c9dLUC/lHNsU99s96t1tqjiwvWyhSLhw/Cg3Hi8I9ZlPuxk6PoYegfZhr4lvrl2uxjaosl/ReCVccxk6FQ94yycBdVwTfWeyYpwHSFGyUTK5031IADSPAEwGbcbpsad6xillkZKNAEtczkAS2zeO3WjLhMAyT64I6f65StnxqFDm7HoodMDzES2mcPg/ZSKHSMQlxiwkd3/yAMD+/1ZzWhZZl49BD7AuwjKyjJWni1YoKo6A71onIXmCdnLf4xiS6P9VbW4evd5VecY7olnIE/DgEaUtt7PL2tqzEjgi07jwC3ypHSLnM74m1dobtw23GY42kBDLTqJsGT2n2VkwXi6ydia0+tiRFD+i4NO8VSAm7KSRKHOvfAugQHPok6SkxfsBVuBMFv00ouEMm6JSAmq9yxYuf8q99Jtx3Cyi0Ct70kBsVImJIFJkle eZag9bXH CGIQ5/WJg8SWZSKHD7tCCzACRL+oTlhaS5RnaJlkN8DRCTepAyK2l5NY/6b8TcBvoTujv1dKlJrp450rj9FaqwRs7XF7i+PEZT9rWFIH9NwjjUjAduhrS+y9eAHRrQmNrt4nlSA0+P48Wc0ErNv3auN1avbVCBamgCz88YJlOqPTn3MHTgMwnnkuH8K3ij12vMAoxjbuR88xu11V4UpZeqdBce/R1Az9vwetZlQ/CIJT54Bp8RCcCyAbISFyvAHc3+y0o X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Apr 03, 2025 at 01:17:22PM +0200, Uladzislau Rezki wrote: > On Wed, Apr 02, 2025 at 10:33:26PM -0700, Shakeel Butt wrote: > > The vmalloc region can either be charged to a single memcg or none. At > > the moment kernel traverses all the pages backing the vmalloc region to > > update the MEMCG_VMALLOC stat. However there is no need to look at all > > the pages as all those pages will be charged to a single memcg or none. > > Simplify the MEMCG_VMALLOC update by just looking at the first page of > > the vmalloc region. > > > > Signed-off-by: Shakeel Butt > > --- > > mm/vmalloc.c | 13 +++++-------- > > 1 file changed, 5 insertions(+), 8 deletions(-) > > > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > > index 3ed720a787ec..cdae76994488 100644 > > --- a/mm/vmalloc.c > > +++ b/mm/vmalloc.c > > @@ -3370,12 +3370,12 @@ void vfree(const void *addr) > > > > if (unlikely(vm->flags & VM_FLUSH_RESET_PERMS)) > > vm_reset_perms(vm); > > + if (vm->nr_pages && !(vm->flags & VM_MAP_PUT_PAGES)) > > + mod_memcg_page_state(vm->pages[0], MEMCG_VMALLOC, -vm->nr_pages); > > > Could you please add a comment stating that the first page should be > modified? > Sorry, what do you mean by first page should be modified? mod_memcg_page_state() will not modify the page but extract memcg from it and modify its vmalloc stat. > Yes, the comment is clear, but git blame/log takes time. > > Reviewed-by: Uladzislau Rezki (Sony) Thanks. > > -- > Uladzislau Rezki