Re: [PATCH v1 1/2] mm/page_alloc.c: Don't set pages PageReserved() when offlining

From: David Hildenbrand
Date: Tue Oct 22 2019 - 05:03:49 EST

- and I remember that PG_reserved on memory holes is relevant to
detect MMIO pages. (e.g., looking at KVM code ...)

I can see kvm_is_reserved_pfn() which checks both pfn_valid and
PageReserved. How does this help to detect memory holes though?
Any driver might be setting the page reserved.

See my other mail. This is mostly to not touch MMIO pages and ZONE_DEVICE pages ... well and /dev/mem mapped pages.

Also is the hole inside a hotplugable memory something we really have to
care about. Has anybody actually seen a platform to require that?

That's what I was asking. I can see "support" for this was added basically
right from the beginning. I'd say we rip that out and cleanup/simplify. I am
not aware of a platform that requires this. Especially, memory holes on
DIMMs (detected during boot) seem like an unlikely thing.

The thing is that the hotplug development shows ad-hoc decisions
throughout the code. It is even worse that it is hard to guess whether
some hludges are a result of a careful design or ad-hoc trial and
failure approach on setups that never were production. Building on top
of that be preserving hacks is not going to improve the situation. So I
am perfectly fine to focus on making the most straightforward setups
work reliably. Even when there is a risk of breaking some odd setups. We
can fix them up later but we would have at least a specific example and
document it.

Alright, I'll prepare a simple patch that rejects offlining memory with

Is offlining an interesting path? I would expect onlining to be much
more interesting one.

If you can't offline memory with holes, you can also not online memory with holes AFAIKS :)

Bootmem is online, and memory you can hotplug (initially offline) cannot have any holes.



David / dhildenb