Re: [Lhms-devel] [PATCH 0/7] Fragmentation Avoidance V19

Ingo Molnar
2005-11-02T07:19:57Z

* Kamezawa Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:

> My own target is NUMA node hotplug, what NUMA node hotplug want is
> - [remove the range of memory] For this approach, admin should define
> *core* node and removable node. Memory on removable node is removable.
> Dividing area into removable and not-removable is needed, because
> we cannot allocate any kernel's object on removable area.
> Removable area should be 100% removable. Customer can know the limitation
> before using.

that's a perfectly fine method, and is quite similar to the 'separate
zone' approach Nick mentioned too. It is also easily understandable for
users/customers.

under such an approach, things become easier as well: if you have zones
you can to restrict (no kernel pinned-down allocations, no mlock-ed
pages, etc.), there's no need for any 'fragmentation avoidance' patches!
Basically all of that RAM becomes instantly removable (with some small
complications). That's the beauty of the separate-zones approach. It is
also a limitation: no kernel allocations, so all the highmem-alike
restrictions apply to it too.

but what is a dangerous fallacy is that we will be able to support hot
memory unplug of generic kernel RAM in any reliable way!

you really have to look at this from the conceptual angle: 'can an
approach ever lead to a satisfactory result'? If the answer is 'no',
then we _must not_ add a 90% solution that we _know_ will never be a
100% solution.

for the separate-removable-zones approach we see the end of the tunnel.
Separate zones are well-understood.

generic unpluggable kernel RAM _will not work_.

Ingo