![]() | |||||||||||
Messages in this thread |
Andrew Morton wrote: > On Sat, 28 Oct 2006 22:57:48 -0700> "Martin J. Bligh" <mbligh@google.com> wrote: > > >>-git4 was fine. -git5 is broken (on PPC64 blade)>>>>As -rc2-mm2 seemed fine on this box, I'm guessing it's something >>that didn't go via Andrew ;-( Looks like it might be something >>JFS or slab specific. Bigger PPC64 box with different config >>was OK though.>>>>Full log is here: http://test.kernel.org/abat/59046/debug/console.log>>Good -git4 run: http://test.kernel.org/abat/58997/debug/console.log>>>>kernel BUG in cache_grow at mm/slab.c:2705! > > > This? > > --- a/mm/vmalloc.c~__vmalloc_area_node-fix > +++ a/mm/vmalloc.c > @@ -428,7 +428,8 @@ void *__vmalloc_area_node(struct vm_stru > area->nr_pages = nr_pages; > /* Please note that the recursion is strictly bounded. */ > if (array_size > PAGE_SIZE) { > - pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node); > + pages = __vmalloc_node(array_size, gfp_mask & ~__GFP_HIGHMEM, > + PAGE_KERNEL, node); > area->flags |= VM_VPAGES; > } else { > pages = kmalloc_node(array_size, Don't you actually *want* the page array to be allocated from highmem? So the gfp mask here should be just for whether we're allowed to sleep / reclaim (ie gfp_mask & ~(__GFP_DMA|__GFP_DMA32) | (__GFP_HIGHMEM))? Slab allocations should be (gfp_mask & ~(__GFP_DMA|__GFP_DMA32|__GFP_HIGHMEM)), which you could mask in __get_vm_area_node -- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-10-29 10:21 [from the cache] ©2003-2008 | |||||||||||