Messages in this thread | | | Date | Wed, 4 May 2011 08:59:28 -0500 (CDT) | From | Christoph Lameter <> | Subject | Re: [git pull] m68k SLUB fix for 2.6.39 |
| |
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.
| |