diff options
| author | 2005-11-13 16:06:41 -0800 | |
|---|---|---|
| committer | 2005-11-13 18:14:12 -0800 | |
| commit | 885036d32f5d3c427c3e2b385b5a5503805e3e52 (patch) | |
| tree | 7f442b309a749d8cbe0f2ac5c38531eeff8bfcd8 /include/linux/memory_hotplug.h | |
| parent | [PATCH] shpchp_hpc build fix (diff) | |
[PATCH] mm: __GFP_NOFAIL fix
In __alloc_pages():
if ((p->flags & (PF_MEMALLOC | PF_MEMDIE)) && !in_interrupt()) {
/* go through the zonelist yet again, ignoring mins */
for (i = 0; zones[i] != NULL; i++) {
struct zone *z = zones[i];
page = buffered_rmqueue(z, order, gfp_mask);
if (page) {
zone_statistics(zonelist, z);
goto got_pg;
}
}
goto nopage; <<<< HERE!!! FAIL...
}
kswapd (which has PF_MEMALLOC flag) can fail to allocate memory even when
it allocates it with __GFP_NOFAIL flag.
Signed-Off-By: Pavel Emelianov <xemul@sw.ru>
Signed-Off-By: Denis Lunev <den@sw.ru>
Signed-Off-By: Kirill Korotaev <dev@sw.ru>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/memory_hotplug.h')
0 files changed, 0 insertions, 0 deletions
