[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZF0ET82ajDbFrIw/@dhcp22.suse.cz>
Date: Thu, 11 May 2023 17:05:51 +0200
From: Michal Hocko <mhocko@...e.com>
To: Huang Ying <ying.huang@...el.com>
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Arjan Van De Ven <arjan@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Mel Gorman <mgorman@...hsingularity.net>,
Vlastimil Babka <vbabka@...e.cz>,
David Hildenbrand <david@...hat.com>,
Johannes Weiner <jweiner@...hat.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Pavel Tatashin <pasha.tatashin@...een.com>,
Matthew Wilcox <willy@...radead.org>
Subject: Re: [RFC 0/6] mm: improve page allocator scalability via splitting
zones
On Thu 11-05-23 14:56:01, Huang Ying wrote:
> The patchset is based on upstream v6.3.
>
> More and more cores are put in one physical CPU (usually one NUMA node
> too). In 2023, one high-end server CPU has 56, 64, or more cores.
> Even more cores per physical CPU are planned for future CPUs. While
> all cores in one physical CPU will contend for the page allocation on
> one zone in most cases. This causes heavy zone lock contention in
> some workloads. And the situation will become worse and worse in the
> future.
>
> For example, on an 2-socket Intel server machine with 224 logical
> CPUs, if the kernel is built with `make -j224`, the zone lock
> contention cycles% can reach up to about 12.7%.
>
> To improve the scalability of the page allocation, in this series, we
> will create one zone instance for each about 256 GB memory of a zone
> type generally. That is, one large zone type will be split into
> multiple zone instances. Then, different logical CPUs will prefer
> different zone instances based on the logical CPU No. So the total
> number of logical CPUs contend on one zone will be reduced. Thus the
> scalability is improved.
It is not really clear to me why you need a new zone for all this rather
than partition free lists internally within the zone? Essentially to
increase the current two level system to 3: per cpu caches, per cpu
arenas and global fallback.
I am also missing some information why pcp caches tunning is not
sufficient.
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists