Here is the patch: Slab: Do not fallback to nodes that have not been bootstrapped yet The zonelist may contain zones of nodes that have not been bootstrapped and we will oops if we try to allocate from those zones. So check if the node information for the slab and the node have been setup before attempting an allocation. If it has not been setup then skip that zone. Usually we will not encounter this situation since the slab bootstrap code avoids falling back before we have setup the respective nodes but we seem to have a special needs for pppc. Signed-off-by: Christoph Lameter <[email protected]> Index: linux-2.6.19-rc2-mm1/mm/slab.c =================================================================== --- linux-2.6.19-rc2-mm1.orig/mm/slab.c 2006-10-20 12:39:02.000000000 -0500 +++ linux-2.6.19-rc2-mm1/mm/slab.c 2006-10-20 12:41:04.137684581 -0500 @@ -3160,12 +3160,15 @@ void *fallback_alloc(struct kmem_cache * struct zone **z; void *obj = NULL; - for (z = zonelist->zones; *z && !obj; z++) + for (z = zonelist->zones; *z && !obj; z++) { + int nid = zone_to_nid(*z); + if (zone_idx(*z) <= ZONE_NORMAL && - cpuset_zone_allowed(*z, flags)) + cpuset_zone_allowed(*z, flags) && + cache->nodelists[nid]) obj = __cache_alloc_node(cache, - flags | __GFP_THISNODE, - zone_to_nid(*z)); + flags | __GFP_THISNODE, nid); + } return obj; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Andy Whitcroft <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- References:
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Will Schmidt <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Will Schmidt <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Paul Mackerras <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Paul Mackerras <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Paul Mackerras <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Anton Blanchard <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Paul Mackerras <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Christoph Lameter <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Paul Mackerras <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Andy Whitcroft <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Andy Whitcroft <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- From: Andrew Morton <[email protected]>
- Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- Prev by Date: Re: Panic in pci_call_probe from 2.6.18-mm2 and 2.6.18-mm3
- Next by Date: Re: [RFC] cpuset: remove sched domain hooks from cpusets
- Previous by thread: Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- Next by thread: Re: kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
- Index(es):