Re: [RFC 0/5] disable pcplists during page isolation

From: osalvador
Date: Wed Sep 09 2020 - 11:16:30 EST

On 2020-09-09 12:54, Vlastimil Babka wrote:
Thanks! I expect no performance change while no isolation is in progress, as
there are no new tests added in alloc/free paths. During page isolation there's
a single drain instead of once-per-pageblock, which is a benefit. But the
pcplists are effectively disabled for the whole of online_pages(),
offline_pages() or alloc_contig_range(), which will affect parallel page
allocator users. It depends on how long these operations take and how heavy the
parallel usage is, so I have no good answers. Might be similar to the current
periodic drain.

I have seen some systems taking quite some time when offlining sections due to the migration of
the respective pages not being that smooth and having do_migrate_range to do some spins.
But to be fair, online_pages and offline_pages are not routines that get called that often, and we would be safe to assume that memory-hotplug operations are not constantly happening, but are rather one-offs operations.

I am not sure about Xen and HV, IIRC Xen was using online_pages and offline_pages routines to do the ballooning?

I will dive in this in the following days, thanks for the work Vlastimil