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