Re: [git pull] m68k SLUB fix for 2.6.39

Christoph Lameter
2011-05-04T13:59:32Z

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.