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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html