[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ow3adiccumedegsm4agxlvaiaq3ypeto42hxr4ln6v3zzluhyu@2cdoez7of6ic>
Date: Thu, 29 May 2025 13:47:09 +0300
From: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
To: Vlastimil Babka <vbabka@...e.cz>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
David Hildenbrand <david@...hat.com>, lorenzo.stoakes@...cle.com, Liam.Howlett@...cle.com,
rppt@...nel.org, surenb@...gle.com, mhocko@...e.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Hongyu Ning <hongyu.ning@...ux.intel.com>,
stable@...r.kernel.org, Christoph Hellwig <hch@....de>, Hannes Reinecke <hare@...e.de>,
Johannes Thumshirn <johannes.thumshirn@....com>, Jens Axboe <axboe@...nel.dk>
Subject: Re: [PATCH] mm: Fix vmstat after removing NR_BOUNCE
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@...ux.intel.com>
> > Reported-by: Hongyu Ning <hongyu.ning@...ux.intel.com>
> > Fixes: 194df9f66db8 ("mm: remove NR_BOUNCE zone stat")
> > Cc: stable@...r.kernel.org
> > Cc: Christoph Hellwig <hch@....de>
> > Cc: Hannes Reinecke <hare@...e.de>
> > Cc: Johannes Thumshirn <johannes.thumshirn@....com>
> > Cc: Jens Axboe <axboe@...nel.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
Powered by blists - more mailing lists