]> Git Repo - linux.git/commit - mm/hugetlb.c
mm: filter based on a nodemask as well as a gfp_mask
authorMel Gorman <[email protected]>
Mon, 28 Apr 2008 09:12:18 +0000 (02:12 -0700)
committerLinus Torvalds <[email protected]>
Mon, 28 Apr 2008 15:58:19 +0000 (08:58 -0700)
commit19770b32609b6bf97a3dece2529089494cbfc549
tree3b5922d1b20aabdf929bde9309f323841717747a
parentdd1a239f6f2d4d3eedd318583ec319aa145b324c
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]>
Documentation/vm/numa_memory_policy.txt
fs/buffer.c
include/linux/cpuset.h
include/linux/gfp.h
include/linux/mempolicy.h
include/linux/mmzone.h
kernel/cpuset.c
mm/hugetlb.c
mm/mempolicy.c
mm/mmzone.c
mm/page_alloc.c
This page took 0.062387 seconds and 4 git commands to generate.