From: Christoph Lameter <[EMAIL PROTECTED]> Date: Tue, 8 May 2007 12:10:32 -0700 (PDT)
> The new slab allocator SLUB was merged and it seems that we are heading > towards replacing SLAB completely by SLUB. This means that we would like > to be sure that SLUB runs reliably on all platforms. SLUB is first > available upstream with 2.6.21-git9. I found a new difference in SLUB and it prevents sparc64 from booting currently :-) What SLAB allows you to do is define LARGE_ALLOCS but not necessarily set MAX_ORDER large enough for the largest kmalloc SLAB. SLAB would ignore the kmalloc cache creation failures for these largest ones that are over MAX_ORDER. SLUB instead panic()'s which isn't so nice that early in the boot. There are a few platforms that will trigger this problem, in fact pretty much every one that specifies LARGE_ALLOCS currently based upon a casual scan of platform Kconfig files. To be honest I don't think I even need LARGE_ALLOCS on sparc64 so I think I'll just see if I can delete that, but I would suggest one of two courses of action: 1) Make SLUB ignore kmalloc cache creation failures at least for the higher order ones or 2) Detect the (PAGE_SIZE << MAX_ORDER) < LARGEST_KMALLOC_SIZE at compile time so that nobody gets such an early panic. Take care. - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
