* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
@ 2025-05-29 10:40 ` Vlastimil Babka
2025-05-29 10:47 ` Kirill A. Shutemov
2025-05-29 10:43 ` Jens Axboe
` (5 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: Vlastimil Babka @ 2025-05-29 10:40 UTC (permalink / raw)
To: Kirill A. Shutemov, Andrew Morton, David Hildenbrand
Cc: lorenzo.stoakes, Liam.Howlett, rppt, surenb, mhocko, linux-mm,
linux-kernel, Hongyu Ning, stable, Christoph Hellwig,
Hannes Reinecke, Johannes Thumshirn, Jens Axboe
On 5/29/25 12:38, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> Cc: stable@vger.kernel.org
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Cc: Jens Axboe <axboe@kernel.dk>
Is there a way to add a BUILD_BUG_ON to catch a future case like this one?
> ---
> mm/vmstat.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 4c268ce39ff2..ae9882063d89 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1201,7 +1201,6 @@ const char * const vmstat_text[] = {
> "nr_zone_unevictable",
> "nr_zone_write_pending",
> "nr_mlock",
> - "nr_bounce",
> #if IS_ENABLED(CONFIG_ZSMALLOC)
> "nr_zspages",
> #endif
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
2025-05-29 10:40 ` [PATCH] mm: Fix vmstat after removing NR_BOUNCE Vlastimil Babka
@ 2025-05-29 10:43 ` Jens Axboe
2025-05-29 11:59 ` kernel test robot
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jens Axboe @ 2025-05-29 10:43 UTC (permalink / raw)
To: Kirill A. Shutemov, Andrew Morton, David Hildenbrand
Cc: lorenzo.stoakes, Liam.Howlett, vbabka, rppt, surenb, mhocko,
linux-mm, linux-kernel, Hongyu Ning, stable, Christoph Hellwig,
Hannes Reinecke, Johannes Thumshirn
On 5/29/25 4:38 AM, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
Reviewed-by: Jens Axboe <axboe@kernel.dk>
> Cc: stable@vger.kernel.org
No need for a stable tag, the patch went into the 6.16 merge window.
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
2025-05-29 10:40 ` [PATCH] mm: Fix vmstat after removing NR_BOUNCE Vlastimil Babka
@ 2025-05-29 10:47 ` Kirill A. Shutemov
2025-05-29 10:51 ` Kirill A. Shutemov
0 siblings, 1 reply; 11+ messages in thread
From: Kirill A. Shutemov @ 2025-05-29 10:47 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Andrew Morton, David Hildenbrand, lorenzo.stoakes, Liam.Howlett,
rppt, surenb, mhocko, linux-mm, linux-kernel, Hongyu Ning,
stable, Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
Jens Axboe
On Thu, May 29, 2025 at 12:40:21PM +0200, Vlastimil Babka wrote:
> On 5/29/25 12:38, Kirill A. Shutemov wrote:
> > Hongyu noticed that the nr_unaccepted counter kept growing even in the
> > absence of unaccepted memory on the machine.
> >
> > This happens due to a commit that removed NR_BOUNCE: it removed the
> > counter from the enum zone_stat_item, but left it in the vmstat_text
> > array.
> >
> > As a result, all counters below nr_bounce in /proc/vmstat are
> > shifted by one line, causing the numa_hit counter to be labeled as
> > nr_unaccepted.
> >
> > To fix this issue, remove nr_bounce from the vmstat_text array.
> >
> > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> > Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> > Cc: stable@vger.kernel.org
> > Cc: Christoph Hellwig <hch@lst.de>
> > Cc: Hannes Reinecke <hare@suse.de>
> > Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> > Cc: Jens Axboe <axboe@kernel.dk>
>
> Is there a way to add a BUILD_BUG_ON to catch a future case like this one?
There's
BUILD_BUG_ON(ARRAY_SIZE(vmstat_text) < NR_VMSTAT_ITEMS);
in vmstat_start().
Making it strict != seems to do the trick for my config. But it requires
wider testing.
I can prepare a patch for that.
--
Kiryl Shutsemau / Kirill A. Shutemov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
2025-05-29 10:47 ` Kirill A. Shutemov
@ 2025-05-29 10:51 ` Kirill A. Shutemov
2025-05-29 12:30 ` Konstantin Khlebnikov
0 siblings, 1 reply; 11+ messages in thread
From: Kirill A. Shutemov @ 2025-05-29 10:51 UTC (permalink / raw)
To: Vlastimil Babka, Konstantin Khlebnikov
Cc: Andrew Morton, David Hildenbrand, lorenzo.stoakes, Liam.Howlett,
rppt, surenb, mhocko, linux-mm, linux-kernel, Hongyu Ning,
stable, Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
Jens Axboe
On Thu, May 29, 2025 at 01:47:10PM +0300, Kirill A. Shutemov wrote:
> On Thu, May 29, 2025 at 12:40:21PM +0200, Vlastimil Babka wrote:
> > On 5/29/25 12:38, Kirill A. Shutemov wrote:
> > > Hongyu noticed that the nr_unaccepted counter kept growing even in the
> > > absence of unaccepted memory on the machine.
> > >
> > > This happens due to a commit that removed NR_BOUNCE: it removed the
> > > counter from the enum zone_stat_item, but left it in the vmstat_text
> > > array.
> > >
> > > As a result, all counters below nr_bounce in /proc/vmstat are
> > > shifted by one line, causing the numa_hit counter to be labeled as
> > > nr_unaccepted.
> > >
> > > To fix this issue, remove nr_bounce from the vmstat_text array.
> > >
> > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> > > Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> > > Cc: stable@vger.kernel.org
> > > Cc: Christoph Hellwig <hch@lst.de>
> > > Cc: Hannes Reinecke <hare@suse.de>
> > > Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> > > Cc: Jens Axboe <axboe@kernel.dk>
> >
> > Is there a way to add a BUILD_BUG_ON to catch a future case like this one?
>
> There's
>
> BUILD_BUG_ON(ARRAY_SIZE(vmstat_text) < NR_VMSTAT_ITEMS);
>
> in vmstat_start().
>
> Making it strict != seems to do the trick for my config. But it requires
> wider testing.
>
> I can prepare a patch for that.
There was a strict check before 9d7ea9a297e6 ("mm/vmstat: add helpers to
get vmstat item names for each enum type"). Not sure if changing != to <
was intentional.
Konstantin?
--
Kiryl Shutsemau / Kirill A. Shutemov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
2025-05-29 10:40 ` [PATCH] mm: Fix vmstat after removing NR_BOUNCE Vlastimil Babka
2025-05-29 10:43 ` Jens Axboe
@ 2025-05-29 11:59 ` kernel test robot
2025-05-29 12:09 ` Kirill A. Shutemov
2025-05-29 12:13 ` Vlastimil Babka
` (3 subsequent siblings)
6 siblings, 1 reply; 11+ messages in thread
From: kernel test robot @ 2025-05-29 11:59 UTC (permalink / raw)
To: Kirill A. Shutemov, Andrew Morton, David Hildenbrand
Cc: oe-kbuild-all, Linux Memory Management List, lorenzo.stoakes,
Liam.Howlett, vbabka, rppt, surenb, mhocko, linux-kernel,
Kirill A. Shutemov, Hongyu Ning, stable, Christoph Hellwig,
Hannes Reinecke, Johannes Thumshirn, Jens Axboe
Hi Kirill,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
url: https://github.com/intel-lab-lkp/linux/commits/Kirill-A-Shutemov/mm-Fix-vmstat-after-removing-NR_BOUNCE/20250529-184044
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20250529103832.2937460-1-kirill.shutemov%40linux.intel.com
patch subject: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
config: m68k-allnoconfig (https://download.01.org/0day-ci/archive/20250529/202505291930.NDyeQ06g-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250529/202505291930.NDyeQ06g-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505291930.NDyeQ06g-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from <command-line>:
mm/vmstat.c: In function 'vmstat_start':
>> include/linux/compiler_types.h:563:45: error: call to '__compiletime_assert_318' declared with attribute error: BUILD_BUG_ON failed: ARRAY_SIZE(vmstat_text) < NR_VMSTAT_ITEMS
563 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:544:25: note: in definition of macro '__compiletime_assert'
544 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:563:9: note: in expansion of macro '_compiletime_assert'
563 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
mm/vmstat.c:1872:9: note: in expansion of macro 'BUILD_BUG_ON'
1872 | BUILD_BUG_ON(ARRAY_SIZE(vmstat_text) < NR_VMSTAT_ITEMS);
| ^~~~~~~~~~~~
vim +/__compiletime_assert_318 +563 include/linux/compiler_types.h
eb5c2d4b45e3d2 Will Deacon 2020-07-21 549
eb5c2d4b45e3d2 Will Deacon 2020-07-21 550 #define _compiletime_assert(condition, msg, prefix, suffix) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 551 __compiletime_assert(condition, msg, prefix, suffix)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 552
eb5c2d4b45e3d2 Will Deacon 2020-07-21 553 /**
eb5c2d4b45e3d2 Will Deacon 2020-07-21 554 * compiletime_assert - break build and emit msg if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 555 * @condition: a compile-time constant condition to check
eb5c2d4b45e3d2 Will Deacon 2020-07-21 556 * @msg: a message to emit if condition is false
eb5c2d4b45e3d2 Will Deacon 2020-07-21 557 *
eb5c2d4b45e3d2 Will Deacon 2020-07-21 558 * In tradition of POSIX assert, this macro will break the build if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 559 * supplied condition is *false*, emitting the supplied error message if the
eb5c2d4b45e3d2 Will Deacon 2020-07-21 560 * compiler has support to do so.
eb5c2d4b45e3d2 Will Deacon 2020-07-21 561 */
eb5c2d4b45e3d2 Will Deacon 2020-07-21 562 #define compiletime_assert(condition, msg) \
eb5c2d4b45e3d2 Will Deacon 2020-07-21 @563 _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
eb5c2d4b45e3d2 Will Deacon 2020-07-21 564
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
2025-05-29 11:59 ` kernel test robot
@ 2025-05-29 12:09 ` Kirill A. Shutemov
0 siblings, 0 replies; 11+ messages in thread
From: Kirill A. Shutemov @ 2025-05-29 12:09 UTC (permalink / raw)
To: kernel test robot
Cc: Andrew Morton, David Hildenbrand, oe-kbuild-all,
Linux Memory Management List, lorenzo.stoakes, Liam.Howlett,
vbabka, rppt, surenb, mhocko, linux-kernel, Hongyu Ning, stable,
Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
Jens Axboe
On Thu, May 29, 2025 at 07:59:40PM +0800, kernel test robot wrote:
> Hi Kirill,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on akpm-mm/mm-everything]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Kirill-A-Shutemov/mm-Fix-vmstat-after-removing-NR_BOUNCE/20250529-184044
> base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
Wrong base. Use Linus' tree instead.
--
Kiryl Shutsemau / Kirill A. Shutemov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
` (2 preceding siblings ...)
2025-05-29 11:59 ` kernel test robot
@ 2025-05-29 12:13 ` Vlastimil Babka
2025-05-29 12:22 ` Michal Hocko
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Vlastimil Babka @ 2025-05-29 12:13 UTC (permalink / raw)
To: Kirill A. Shutemov, Andrew Morton, David Hildenbrand
Cc: lorenzo.stoakes, Liam.Howlett, rppt, surenb, mhocko, linux-mm,
linux-kernel, Hongyu Ning, stable, Christoph Hellwig,
Hannes Reinecke, Johannes Thumshirn, Jens Axboe
On 5/29/25 12:38, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> Cc: stable@vger.kernel.org
Not necessary, as the fixes commit is from this merge window?
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Cc: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
> ---
> mm/vmstat.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 4c268ce39ff2..ae9882063d89 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1201,7 +1201,6 @@ const char * const vmstat_text[] = {
> "nr_zone_unevictable",
> "nr_zone_write_pending",
> "nr_mlock",
> - "nr_bounce",
> #if IS_ENABLED(CONFIG_ZSMALLOC)
> "nr_zspages",
> #endif
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
` (3 preceding siblings ...)
2025-05-29 12:13 ` Vlastimil Babka
@ 2025-05-29 12:22 ` Michal Hocko
2025-05-29 18:13 ` Shakeel Butt
2025-06-02 5:01 ` Christoph Hellwig
6 siblings, 0 replies; 11+ messages in thread
From: Michal Hocko @ 2025-05-29 12:22 UTC (permalink / raw)
To: Kirill A. Shutemov
Cc: Andrew Morton, David Hildenbrand, lorenzo.stoakes, Liam.Howlett,
vbabka, rppt, surenb, linux-mm, linux-kernel, Hongyu Ning,
stable, Christoph Hellwig, Hannes Reinecke, Johannes Thumshirn,
Jens Axboe
On Thu 29-05-25 13:38:32, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> Cc: stable@vger.kernel.org
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Cc: Jens Axboe <axboe@kernel.dk>
Acked-by: Michal Hocko <mhocko@suse.com>
Unfortunatelly a common mistake to make. I have seen you have a followup
fix with a stricter build time check. Will have a look.
Thanks!
> ---
> mm/vmstat.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 4c268ce39ff2..ae9882063d89 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1201,7 +1201,6 @@ const char * const vmstat_text[] = {
> "nr_zone_unevictable",
> "nr_zone_write_pending",
> "nr_mlock",
> - "nr_bounce",
> #if IS_ENABLED(CONFIG_ZSMALLOC)
> "nr_zspages",
> #endif
> --
> 2.47.2
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
2025-05-29 10:51 ` Kirill A. Shutemov
@ 2025-05-29 12:30 ` Konstantin Khlebnikov
0 siblings, 0 replies; 11+ messages in thread
From: Konstantin Khlebnikov @ 2025-05-29 12:30 UTC (permalink / raw)
To: Kirill A. Shutemov
Cc: Vlastimil Babka, Andrew Morton, David Hildenbrand,
lorenzo.stoakes, Liam.Howlett, rppt, surenb, mhocko, linux-mm,
linux-kernel, Hongyu Ning, stable, Christoph Hellwig,
Hannes Reinecke, Johannes Thumshirn, Jens Axboe
On Thu, 29 May 2025 at 12:51, Kirill A. Shutemov
<kirill.shutemov@linux.intel.com> wrote:
>
> On Thu, May 29, 2025 at 01:47:10PM +0300, Kirill A. Shutemov wrote:
> > On Thu, May 29, 2025 at 12:40:21PM +0200, Vlastimil Babka wrote:
> > > On 5/29/25 12:38, Kirill A. Shutemov wrote:
> > > > Hongyu noticed that the nr_unaccepted counter kept growing even in the
> > > > absence of unaccepted memory on the machine.
> > > >
> > > > This happens due to a commit that removed NR_BOUNCE: it removed the
> > > > counter from the enum zone_stat_item, but left it in the vmstat_text
> > > > array.
> > > >
> > > > As a result, all counters below nr_bounce in /proc/vmstat are
> > > > shifted by one line, causing the numa_hit counter to be labeled as
> > > > nr_unaccepted.
> > > >
> > > > To fix this issue, remove nr_bounce from the vmstat_text array.
> > > >
> > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> > > > Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> > > > Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> > > > Cc: stable@vger.kernel.org
> > > > Cc: Christoph Hellwig <hch@lst.de>
> > > > Cc: Hannes Reinecke <hare@suse.de>
> > > > Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> > > > Cc: Jens Axboe <axboe@kernel.dk>
> > >
> > > Is there a way to add a BUILD_BUG_ON to catch a future case like this one?
> >
> > There's
> >
> > BUILD_BUG_ON(ARRAY_SIZE(vmstat_text) < NR_VMSTAT_ITEMS);
> >
> > in vmstat_start().
> >
> > Making it strict != seems to do the trick for my config. But it requires
> > wider testing.
> >
> > I can prepare a patch for that.
>
> There was a strict check before 9d7ea9a297e6 ("mm/vmstat: add helpers to
> get vmstat item names for each enum type"). Not sure if changing != to <
> was intentional.
>
> Konstantin?
I have no clue. Sorry.
>
> --
> Kiryl Shutsemau / Kirill A. Shutemov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
` (4 preceding siblings ...)
2025-05-29 12:22 ` Michal Hocko
@ 2025-05-29 18:13 ` Shakeel Butt
2025-06-02 5:01 ` Christoph Hellwig
6 siblings, 0 replies; 11+ messages in thread
From: Shakeel Butt @ 2025-05-29 18:13 UTC (permalink / raw)
To: Kirill A. Shutemov
Cc: Andrew Morton, David Hildenbrand, lorenzo.stoakes, Liam.Howlett,
vbabka, rppt, surenb, mhocko, linux-mm, linux-kernel,
Hongyu Ning, stable, Christoph Hellwig, Hannes Reinecke,
Johannes Thumshirn, Jens Axboe
On Thu, May 29, 2025 at 01:38:32PM +0300, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Reported-by: Hongyu Ning <hongyu.ning@linux.intel.com>
> Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> Cc: stable@vger.kernel.org
> Cc: Christoph Hellwig <hch@lst.de>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Cc: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Shakeel Butt <shakeel.butt@linux.dev>
Can we put BUILD_BUG_ON() to avoid this situation in the future?
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
` (5 preceding siblings ...)
2025-05-29 18:13 ` Shakeel Butt
@ 2025-06-02 5:01 ` Christoph Hellwig
6 siblings, 0 replies; 11+ messages in thread
From: Christoph Hellwig @ 2025-06-02 5:01 UTC (permalink / raw)
To: Kirill A. Shutemov
Cc: Andrew Morton, David Hildenbrand, lorenzo.stoakes, Liam.Howlett,
vbabka, rppt, surenb, mhocko, linux-mm, linux-kernel,
Hongyu Ning, stable, Christoph Hellwig, Hannes Reinecke,
Johannes Thumshirn, Jens Axboe
On Thu, May 29, 2025 at 01:38:32PM +0300, Kirill A. Shutemov wrote:
> Hongyu noticed that the nr_unaccepted counter kept growing even in the
> absence of unaccepted memory on the machine.
>
> This happens due to a commit that removed NR_BOUNCE: it removed the
> counter from the enum zone_stat_item, but left it in the vmstat_text
> array.
>
> As a result, all counters below nr_bounce in /proc/vmstat are
> shifted by one line, causing the numa_hit counter to be labeled as
> nr_unaccepted.
>
> To fix this issue, remove nr_bounce from the vmstat_text array.
Ooops, yes:
Reviewed-by: Christoph Hellwig <hch@lst.de>
> diff --git a/mm/vmstat.c b/mm/vmstat.c
> index 4c268ce39ff2..ae9882063d89 100644
> --- a/mm/vmstat.c
> +++ b/mm/vmstat.c
> @@ -1201,7 +1201,6 @@ const char * const vmstat_text[] = {
> "nr_zone_unevictable",
> "nr_zone_write_pending",
> "nr_mlock",
> - "nr_bounce",
> #if IS_ENABLED(CONFIG_ZSMALLOC)
> "nr_zspages",
> #endif
It would be really useful if such pretty printing arrays used
named initializers, as that would make it obvious that an entry
needs removal.
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-06-02 5:01 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20250529103832.2937460-1-kirill.shutemov@linux.intel.com>
2025-05-29 10:40 ` [PATCH] mm: Fix vmstat after removing NR_BOUNCE Vlastimil Babka
2025-05-29 10:47 ` Kirill A. Shutemov
2025-05-29 10:51 ` Kirill A. Shutemov
2025-05-29 12:30 ` Konstantin Khlebnikov
2025-05-29 10:43 ` Jens Axboe
2025-05-29 11:59 ` kernel test robot
2025-05-29 12:09 ` Kirill A. Shutemov
2025-05-29 12:13 ` Vlastimil Babka
2025-05-29 12:22 ` Michal Hocko
2025-05-29 18:13 ` Shakeel Butt
2025-06-02 5:01 ` Christoph Hellwig
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox