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 41E5EC19F4E for ; Thu, 25 Apr 2024 18:02:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7D0716B0083; Thu, 25 Apr 2024 14:02:16 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7581D6B0085; Thu, 25 Apr 2024 14:02:16 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5F95A6B0087; Thu, 25 Apr 2024 14:02:16 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3CF996B0083 for ; Thu, 25 Apr 2024 14:02:16 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D090A160453 for ; Thu, 25 Apr 2024 18:02:15 +0000 (UTC) X-FDA: 82048823430.13.DEE6321 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf07.hostedemail.com (Postfix) with ESMTP id 415CD40009 for ; Thu, 25 Apr 2024 18:02:12 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="rOx7+N/y"; spf=pass (imf07.hostedemail.com: domain of chrisl@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1714068134; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sKtmQhHoqkYhlNedefXGNY5ZVNkYNmzakv+Z+Q8ep7I=; b=AWoN3tOwyIqwEIl2Zwh0EHpg4Kjyd2wcYEzmGXmbnnQs1FJojYZqHNI6e7UrKCbiPcLw+y yvK1AoF6nBhzTgImSa1HMCg6jqGuUyfAwSWmDWDm1ArYYh/hbf+ORI1czlUUyScNaAUKkj 1uwFDXC4cvkniOL5658RG7BQ3ZQ6APA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1714068134; a=rsa-sha256; cv=none; b=sJOfPIAqqOpPH3VLBaoEfnTW7iAeCmrpaoJ24Ys+MBAuMNApNcSQw3CE3g9ANXJ6Q6xDZM NrG2x51u+ePiBmLi68BgxY/0oJSvkhA/vjc6/6049BKlHZ1q1Qr4NNqY+hOxcLWgLQz9rH WmDksV3k/nz/x98CjGjxiL2o4EZ9m8o= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b="rOx7+N/y"; spf=pass (imf07.hostedemail.com: domain of chrisl@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=chrisl@kernel.org; dmarc=pass (policy=none) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id D1669CE1864 for ; Thu, 25 Apr 2024 18:02:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0112BC113CC for ; Thu, 25 Apr 2024 18:02:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1714068128; bh=iorbnfY9Y/+ae9TLaZeSRmf271UI1XmIWWIOy7sTx0U=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=rOx7+N/yEbuKWCEQJzQOzma4enkJ3hf0FFNfXITnehojoUeHcpO3Re94xryLyQv0b jiTfZJ5Nd7ahn9krRvrXg+JSoyIetw3tRP8NB3guIGEE4ZLVUhD1v5sPCl1gma5KKy jk5xW5QKqHYSZupuHFNs/UAlyXo3JFPdOsTUmwi5AgumCfKbSF0cTm1yRsH8ZJyECf IHjFldIrsZXf7HYpWSbFIQz7YUZyl4pQRfV3o/fakuWkh+ORavAU1nMmNyxJCVGpJf ZxZM0ZGIthbfSlaEcUY3QM7EJAW5peeSFp2HMeKYABrbiWxeWX6UQaklER0pLQWHYN IdI2hhiGHy9WQ== Received: by mail-lj1-f173.google.com with SMTP id 38308e7fff4ca-2deecd35192so8494391fa.1 for ; Thu, 25 Apr 2024 11:02:07 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCUKJiUq7CVeFEHARtVSMbq536/ji7//JcdtSjG3PbbTfwYICMhNePb3XiGWnTO3lq09BYB+pMsSXj7pAUOXjDGwoeU= X-Gm-Message-State: AOJu0YxbBFO5/3kyWE8wO4jfgbcTtstpKj99PwWQ6LLtp8QvMrawudi6 R4h+K+8EdJZPjjJ/KlYDvAioWHi6upZIOJpoZRng0ktEZLS34yNIR9CJZyc3NkAHXvNSAiSS0LL o9dCZXB5sHaEoGPVF9e3ZlA3G1A== X-Google-Smtp-Source: AGHT+IE2kwUS69B1UfRWMAazsvvDMmMVdiDxtpSpK2E2ggTdHaZYg4oZcgE6cZvVc10FogJKErfnIbqlh0R8L4Hzgr4= X-Received: by 2002:a2e:7214:0:b0:2d8:54b3:954b with SMTP id n20-20020a2e7214000000b002d854b3954bmr42676ljc.53.1714068126645; Thu, 25 Apr 2024 11:02:06 -0700 (PDT) MIME-Version: 1.0 References: <20240423051826.791934-1-shakeel.butt@linux.dev> <20240423051826.791934-2-shakeel.butt@linux.dev> In-Reply-To: <20240423051826.791934-2-shakeel.butt@linux.dev> From: Chris Li Date: Thu, 25 Apr 2024 11:01:54 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 1/4] mm: rearrange node_stat_item to put memcg stats at start To: Shakeel Butt Cc: Andrew Morton , Johannes Weiner , Michal Hocko , Roman Gushchin , Muchun Song , linux-mm@kvack.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: occ3utskofrw6mugxbpapqaopfgzh3wh X-Rspamd-Queue-Id: 415CD40009 X-Rspamd-Server: rspam06 X-Rspam-User: X-HE-Tag: 1714068132-418431 X-HE-Meta: U2FsdGVkX19Hj2oyn/7DpCOWX5ZHt/Lsmur7BwvI8OCv2WkSwbidxlhF+avPfsydZEdcbHJEB+lrLiM6VW7Njemx3ZGMc/dChx9pgoh9ZxUuJ3J2qtZFMfGEgXYmvNT1pfkFO42osLMbF+QjkUEa70f+q0AGcJhd8UCUqMYdFzEmxpAvFNhcNE4w0bHEuG1UZ53YZZ8urRXhfV7Oaqn7sucdssjmvwuXv2lfnBRa3v2leYGCUkwO01HGTNNAxqmQhPqcLtc/+clN//jS2pDY9mTTARWpWh8ckZOt54Skz2R57/Ovh4ugQZT1I+ncsBUSET96KFA49KS6ngH9O3cZKEQPHL2Jm0ZACy+LuOpoEoGV41eqkjiSZliqB3n31PS5sH8b9REnnmXdk2j6oayFlcxMJ8M/Ky8jHWgbsDjZhjx2/q6scRFHyz1z+GlXmxfiu50MRIVOYZVXQUPzSYP/NKelBlniDyEixPSi8IAhL/RQWh5dnIz/Bwwg5WTUq74Es9IwZiQYTGIctAWEdybXltnfAnSQwyyG0HNLLAiZwj0T8Beboig4RhA0AREwg6O8vGXVUV1MkkrAmg4vYtg3gP8Wn7+TQJ6H7xHaIUBLva/5BkZt0dUCIIxGg9to3Z+xrLwsfo9skAX+s9F/GDtgTH0OlqYXXlk5Dw3A9gebjaN30L2CYYP2Iy4OkSBbdMYHaPOfcGMoYWNhG0JRmbkQ+PQDXsEd6cRW5AIDo/CGqktzaQvMfV5PhzBGKCGS6ylVqfQpGZnwubaUcTJ8+EjFrG4HFxJVouZNejUbn5fAejWapkTlpNOOgc9VOAsP3srTyhb+OeGb/+bcAheK83KhOVsG5+j2LRrLUp0OAQM2CZwHmgwrANQ1gawPKnKeRFgZ/LVCk+Ye0EwpecfWOsGZBERWVFbVLV5E4E1/uSI30X79mIZhH1GHEGZHUtGqW501txpdRelS+G2pHPB0RjO 6LRXHSLf Ga3G0c1Z2J9tsfA0SMsJddWvQ4dv2Imkzyc69aTE8HmJG4OFjfd9CnVLc2K9GXHcxKdYgk2v/KyDFFeGcpkJOz0jYoPKQkJK9PQgk5lrGrPKdrHUM0/eWh7E4uE2zuqtlXLhiJlEc4iEqesErtiypYb8hm020D6IWrw1+0xS0I5xM5Faka1YZB1epLBnQ6ukP2x0lJrLAUX7mAUhHbx3QtkRz6aSftzIWyryguuFi2aTdZaRmkxN+yEkJ2i6M/yaapUZssmmthb3MD4c= 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 Mon, Apr 22, 2024 at 10:19=E2=80=AFPM Shakeel Butt wrote: > > At the moment the memcg stats are sized based on the size of enum > node_stat_item but not all fields in node_stat_item corresponds to memcg > stats. So, rearrage the contents of node_stat_item such that all the > memcg specific stats are at the top and then the later patches will make > sure that the memcg code will not waste space for non-memcg stats. Is this patch meant to have no functional change other than the output orde= r? It would be better to clarify it in the commit message if that is the case. Chris > > Signed-off-by: Shakeel Butt > --- > include/linux/mmzone.h | 25 +++++++++++++------------ > mm/vmstat.c | 24 ++++++++++++------------ > 2 files changed, 25 insertions(+), 24 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index 8f9c9590a42c..989ca97402c6 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -166,9 +166,6 @@ enum node_stat_item { > NR_UNEVICTABLE, /* " " " " " */ > NR_SLAB_RECLAIMABLE_B, > NR_SLAB_UNRECLAIMABLE_B, > - NR_ISOLATED_ANON, /* Temporary isolated pages from anon lru= */ > - NR_ISOLATED_FILE, /* Temporary isolated pages from file lru= */ > - WORKINGSET_NODES, > WORKINGSET_REFAULT_BASE, > WORKINGSET_REFAULT_ANON =3D WORKINGSET_REFAULT_BASE, > WORKINGSET_REFAULT_FILE, > @@ -179,39 +176,43 @@ enum node_stat_item { > WORKINGSET_RESTORE_ANON =3D WORKINGSET_RESTORE_BASE, > WORKINGSET_RESTORE_FILE, > WORKINGSET_NODERECLAIM, > + NR_PAGETABLE, /* used for pagetables */ > + NR_SECONDARY_PAGETABLE, /* secondary pagetables, KVM & IOMMU */ > + NR_KERNEL_STACK_KB, /* measured in KiB */ > NR_ANON_MAPPED, /* Mapped anonymous pages */ > NR_FILE_MAPPED, /* pagecache pages mapped into pagetables. > only modified from process context */ > NR_FILE_PAGES, > +#ifdef CONFIG_SWAP > + NR_SWAPCACHE, > +#endif > NR_FILE_DIRTY, > NR_WRITEBACK, > - NR_WRITEBACK_TEMP, /* Writeback using temporary buffers */ > NR_SHMEM, /* shmem pages (included tmpfs/GEM pages)= */ > NR_SHMEM_THPS, > - NR_SHMEM_PMDMAPPED, > NR_FILE_THPS, > - NR_FILE_PMDMAPPED, > NR_ANON_THPS, > + /* No memcg stats for the following fields. */ > + NR_SHMEM_PMDMAPPED, > + NR_FILE_PMDMAPPED, > + NR_WRITEBACK_TEMP, /* Writeback using temporary buffers */ > NR_VMSCAN_WRITE, > NR_VMSCAN_IMMEDIATE, /* Prioritise for reclaim when writeback = ends */ > + NR_ISOLATED_ANON, /* Temporary isolated pages from anon lru= */ > + NR_ISOLATED_FILE, /* Temporary isolated pages from file lru= */ > + WORKINGSET_NODES, > NR_DIRTIED, /* page dirtyings since bootup */ > NR_WRITTEN, /* page writings since bootup */ > NR_THROTTLED_WRITTEN, /* NR_WRITTEN while reclaim throttled */ > NR_KERNEL_MISC_RECLAIMABLE, /* reclaimable non-slab kernel pa= ges */ > NR_FOLL_PIN_ACQUIRED, /* via: pin_user_page(), gup flag: FOLL_P= IN */ > NR_FOLL_PIN_RELEASED, /* pages returned via unpin_user_page() *= / > - NR_KERNEL_STACK_KB, /* measured in KiB */ > #if IS_ENABLED(CONFIG_SHADOW_CALL_STACK) > NR_KERNEL_SCS_KB, /* measured in KiB */ > #endif > - NR_PAGETABLE, /* used for pagetables */ > - NR_SECONDARY_PAGETABLE, /* secondary pagetables, KVM & IOMMU */ > #ifdef CONFIG_IOMMU_SUPPORT > NR_IOMMU_PAGES, /* # of pages allocated by IOMMU */ > #endif > -#ifdef CONFIG_SWAP > - NR_SWAPCACHE, > -#endif > #ifdef CONFIG_NUMA_BALANCING > PGPROMOTE_SUCCESS, /* promote successfully */ > PGPROMOTE_CANDIDATE, /* candidate pages to promote */ > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 8507c497218b..4eac2f6322a3 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -1206,9 +1206,6 @@ const char * const vmstat_text[] =3D { > "nr_unevictable", > "nr_slab_reclaimable", > "nr_slab_unreclaimable", > - "nr_isolated_anon", > - "nr_isolated_file", > - "workingset_nodes", > "workingset_refault_anon", > "workingset_refault_file", > "workingset_activate_anon", > @@ -1216,38 +1213,41 @@ const char * const vmstat_text[] =3D { > "workingset_restore_anon", > "workingset_restore_file", > "workingset_nodereclaim", > + "nr_page_table_pages", > + "nr_sec_page_table_pages", > + "nr_kernel_stack", > "nr_anon_pages", > "nr_mapped", > "nr_file_pages", > +#ifdef CONFIG_SWAP > + "nr_swapcached", > +#endif > "nr_dirty", > "nr_writeback", > - "nr_writeback_temp", > "nr_shmem", > "nr_shmem_hugepages", > - "nr_shmem_pmdmapped", > "nr_file_hugepages", > - "nr_file_pmdmapped", > "nr_anon_transparent_hugepages", > + "nr_shmem_pmdmapped", > + "nr_file_pmdmapped", > + "nr_writeback_temp", > "nr_vmscan_write", > "nr_vmscan_immediate_reclaim", > + "nr_isolated_anon", > + "nr_isolated_file", > + "workingset_nodes", > "nr_dirtied", > "nr_written", > "nr_throttled_written", > "nr_kernel_misc_reclaimable", > "nr_foll_pin_acquired", > "nr_foll_pin_released", > - "nr_kernel_stack", > #if IS_ENABLED(CONFIG_SHADOW_CALL_STACK) > "nr_shadow_call_stack", > #endif > - "nr_page_table_pages", > - "nr_sec_page_table_pages", > #ifdef CONFIG_IOMMU_SUPPORT > "nr_iommu_pages", > #endif > -#ifdef CONFIG_SWAP > - "nr_swapcached", > -#endif > #ifdef CONFIG_NUMA_BALANCING > "pgpromote_success", > "pgpromote_candidate", > -- > 2.43.0 > >