Re: Page allocator: Single Zone optimizations

KAMEZAWA Hiroyuki
2006-10-28T07:47:26Z

On Fri, 27 Oct 2006 21:43:24 -0700
Andrew Morton <akpm@osdl.org> wrote:
> On Fri, 27 Oct 2006 19:31:20 -0700 (PDT)
> Christoph Lameter <clameter@sgi.com> wrote:
> > > So right now __GFP_HIGHMEM is an excellent hint telling the page allocator
> > > that it is safe to satisfy this request from removeable memory.
> >
> > OK this works on i386 but most other platforms wont have a highmem
> > zone.
>
> Under this proposal platforms which wish to implement physical hot-unplug
> would need to effectively implement highmem. They won't keep to kmap the
> pages to access their contents, but they will need to ensure that
> unreclaimable allocations be constrained to the non-removable physical
> memory.
>
> It's all pretty simple. But it'd be hacky to implement it in terms of
> "highmem". It would be better if we could just tell the core MM "here's a
> 4G zone" and "here's a 60G zone". The 60G zone is only used for
> GFP_HIGHUSER allocations and is hence unpluggable.
>
> I don't think there's any other (practical) way of implementing hot-unplug.
>
Thank you for mentioning to memory-unplug. I was offlined.
We (memory unplug collegues) tried dividing pgdat/zone/free_list for reclaimable
memory. but all of them were rejected ;). IMHO, using zone was the simplest one.
But hard-coded ZONE_EASYRECLAIM was not good looking..

I and Goto-san are still trying to improve sparsemem and *memory-hot-add*.
So, memory-unplug stops but is not dead project.

> But hot-unplug is just an example. My main point here is that it is
> desirable that we get away from the up-to-four magical hard-wired zones in
> core MM.
>
Hmm..zones should be dynamically defined at boot and configure how-to-zoning ?
or just configurable at make ?

Thanks,
-Kame