[PATCH] Guarantee that the uncached allocator gets pages on the correct node
The uncached allocator manages per node pools. Specify __GFP_THISNODE in order to force allocation on the indicated node or fail. The uncached allocator has already logic to deal with failing allocations. Signed-off-by: Christoph Lameter <clameter@sgi.com> Cc: Andy Whitcroft <apw@shadowen.org> Cc: Mel Gorman <mel@csn.ul.ie> 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
3d99cfb5f4
commit
bd1b1677b5
@@ -98,7 +98,8 @@ static int uncached_add_chunk(struct uncached_pool *uc_pool, int nid)
|
|||||||
|
|
||||||
/* attempt to allocate a granule's worth of cached memory pages */
|
/* attempt to allocate a granule's worth of cached memory pages */
|
||||||
|
|
||||||
page = alloc_pages_node(nid, GFP_KERNEL | __GFP_ZERO,
|
page = alloc_pages_node(nid, GFP_KERNEL | __GFP_ZERO |
|
||||||
|
__GFP_THISNODE | __GFP_NORETRY | __GFP_NOWARN,
|
||||||
IA64_GRANULE_SHIFT-PAGE_SHIFT);
|
IA64_GRANULE_SHIFT-PAGE_SHIFT);
|
||||||
if (!page) {
|
if (!page) {
|
||||||
mutex_unlock(&uc_pool->add_chunk_mutex);
|
mutex_unlock(&uc_pool->add_chunk_mutex);
|
||||||
|
Reference in New Issue
Block a user