On Tue, 3 May 2011, David Rientjes wrote: > So we're in the unfortunate position where slub works fine for some > architectures with DISCONTIGMEM and not with others. It seems like the > problems originating on James' hppa aren't related to slab allocation at > all, though, so I'm wondering if we should rethink disallowing SLUB as it > sits in Linus' tree right now for everything that uses DISCONTINGMEM > without NUMA and not force them to enable CONFIG_BROKEN? > > Perhaps change the kconfig entry to only block slub for parisc instead?
As i have explained multiple times before: This is a generic issue with a kernel configuration that has DISCONTIGMEM on and NUMA configured off. Core code in various subsystems makes various assumptions in the !NUMA case. F.e. page_to_nid(page) == 0. Slub is one of them. DISCONTIGMEM works fine on !NUMA if it just has a single node which is 0. But in James' hppa we have multiple nodes and thus a fundamental problem with node 1 existing in a non NUMA environment. We then have a strange mixture of NUMA nodes existing in DISCONTIGMEM code and the core code assuming there are none. This can lead to numerous weird problems. IMHO A config broken for DISCONTIG and !NUMA for arches that can actually use multiple DISCONTIG nodes would be the proper thing. -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
