[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45156f57-2fa9-71c8-aea5-d06d457c0236@suse.cz>
Date: Thu, 22 Apr 2021 14:19:53 +0200
From: Vlastimil Babka <vbabka@...e.cz>
To: Mel Gorman <mgorman@...hsingularity.net>,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Chuck Lever <chuck.lever@...cle.com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>,
Michal Hocko <mhocko@...nel.org>,
Linux-MM <linux-mm@...ck.org>,
Linux-RT-Users <linux-rt-users@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/9] mm/page_alloc: Split per cpu page lists and zone
stats
On 4/22/21 1:14 PM, Mel Gorman wrote:
> The per-cpu page allocator lists and the per-cpu vmstat deltas are stored
> in the same struct per_cpu_pages even though vmstats have no direct impact
> on the per-cpu page lists. This is inconsistent because the vmstats for a
> node are stored on a dedicated structure. The bigger issue is that the
> per_cpu_pages structure is not cache-aligned and stat updates either
> cache conflict with adjacent per-cpu lists incurring a runtime cost or
> padding is required incurring a memory cost.
>
> This patch splits the per-cpu pagelists and the vmstat deltas into separate
> structures. It's mostly a mechanical conversion but some variable renaming
> is done to clearly distinguish the per-cpu pages structure (pcp) from
> the vmstats (pzstats).
>
> Superficially, this appears to increase the size of the per_cpu_pages
> structure but the movement of expire fills a structure hole so there is
> no impact overall.
>
> [lkp@...el.com: Check struct per_cpu_zonestat has a non-zero size]
> [vbabka@...e.cz: Init zone->per_cpu_zonestats properly]
> Signed-off-by: Mel Gorman <mgorman@...hsingularity.net>
Acked-by: Vlastimil Babka <vbabka@...e.cz>
Powered by blists - more mailing lists