diff options
| author | Mel Gorman <[email protected]> | 2008-04-28 09:12:18 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-04-28 15:58:19 +0000 |
| commit | 19770b32609b6bf97a3dece2529089494cbfc549 (patch) | |
| tree | 3b5922d1b20aabdf929bde9309f323841717747a /lib/kernel_lock.c | |
| parent | mm: have zonelist contains structs with both a zone pointer and zone_idx (diff) | |
| download | kernel-19770b32609b6bf97a3dece2529089494cbfc549.tar.gz kernel-19770b32609b6bf97a3dece2529089494cbfc549.zip | |
mm: filter based on a nodemask as well as a gfp_mask
The MPOL_BIND policy creates a zonelist that is used for allocations
controlled by that mempolicy. As the per-node zonelist is already being
filtered based on a zone id, this patch adds a version of __alloc_pages() that
takes a nodemask for further filtering. This eliminates the need for
MPOL_BIND to create a custom zonelist.
A positive benefit of this is that allocations using MPOL_BIND now use the
local node's distance-ordered zonelist instead of a custom node-id-ordered
zonelist. I.e., pages will be allocated from the closest allowed node with
available memory.
[[email protected]: Mempolicy: update stale documentation and comments]
[[email protected]: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask]
[[email protected]: Mempolicy: make dequeue_huge_page_vma() obey MPOL_BIND nodemask rework]
Signed-off-by: Mel Gorman <[email protected]>
Acked-by: Christoph Lameter <[email protected]>
Signed-off-by: Lee Schermerhorn <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: Nick Piggin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/kernel_lock.c')
0 files changed, 0 insertions, 0 deletions
