[PATCH] linearly index zone->node_zonelists[]
I wonder why we need this bitmask indexing into zone->node_zonelists[]? We always start with the highest zone and then include all lower zones if we build zonelists. Are there really cases where we need allocation from ZONE_DMA or ZONE_HIGHMEM but not ZONE_NORMAL? It seems that the current implementation of highest_zone() makes that already impossible. If we go linear on the index then gfp_zone() == highest_zone() and a lot of definitions fall by the wayside. We can now revert back to the use of gfp_zone() in mempolicy.c ;-) Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
2f6726e54a
commit
19655d3487
@ -1101,7 +1101,7 @@ static struct zonelist *zonelist_policy(gfp_t gfp, struct mempolicy *policy)
|
||||
case MPOL_BIND:
|
||||
/* Lower zones don't get a policy applied */
|
||||
/* Careful: current->mems_allowed might have moved */
|
||||
if (highest_zone(gfp) >= policy_zone)
|
||||
if (gfp_zone(gfp) >= policy_zone)
|
||||
if (cpuset_zonelist_valid_mems_allowed(policy->v.zonelist))
|
||||
return policy->v.zonelist;
|
||||
/*FALL THROUGH*/
|
||||
|
Reference in New Issue
Block a user