Re: NUMA policy issues with ZONE_MOVABLE

KAMEZAWA Hiroyuki
2007-07-26T07:41:37Z

On Wed, 25 Jul 2007 21:53:32 -0700 (PDT)
Christoph Lameter <clameter@sgi.com> wrote:

> On Thu, 26 Jul 2007, KAMEZAWA Hiroyuki wrote:
>
> > Hmm, How about following patch ? (not tested, just an idea).
> > I'm sorry if I misunderstand concept ot policy_zone.
>
> Maybe we should get rid of policy zone completely? There are only a few
> lower zones on a NUMA machine anyways and if the filtering in
> __alloc_pages does the trick then we could simply generate lists will
> all zones in build_bindzonelist.
>
> The main dividing line may be if zones are available on all (memory)
> nodes. If they are only available on a single nodes (like DMA or DMA32)
> then policies must be disregarded if the alloc would otherwise not be
> possible.
>

IMHO, when using customized zonelists, zonelists[MAX_NR_ZONES] should be
prepared for all gfp_zone(GFP_xxx). But zonlists[] can be very big.

Another thinking, currnet MBIND uses pages from lower nodes, (nodes have lower ids.)
even if the node is far. And all process which uses MBIND have the same tendency.

I'd like to vote for implementing node_mask check in alloc_pages, but doesn't have
good idea to implement it in efficient manner on 1024-nodes server...

like, alloc_page_mask(gftp_t gftp, int order, nodemask_t mask);

Thanks,
-Kame