SLUB now requires a portion of the per cpu reserve. There are on average about 70 real slabs on a system (aliases do not count) and each needs 12 bytes of per cpu space. Thats 840 bytes. In debug mode all slabs will be real slabs which will make us end up with 150 -> 1800. Give it some slack and add 2000 bytes to the default size. Things work fine without this patch but then slub will reduce the percpu reserve for modules. Also define a reserve if CONFIG_MODULES is off. Signed-off-by: Christoph Lameter Index: linux-2.6/include/linux/percpu.h =================================================================== --- linux-2.6.orig/include/linux/percpu.h 2008-09-19 15:04:21.000000000 -0500 +++ linux-2.6/include/linux/percpu.h 2008-09-19 15:05:31.000000000 -0500 @@ -38,9 +38,9 @@ /* Enough to cover all DEFINE_PER_CPUs in kernel, including modules. */ #ifndef PERCPU_AREA_SIZE #ifdef CONFIG_MODULES -#define PERCPU_RESERVE_SIZE 8192 +#define PERCPU_RESERVE_SIZE 10000 #else -#define PERCPU_RESERVE_SIZE 0 +#define PERCPU_RESERVE_SIZE 2000 #endif #define PERCPU_AREA_SIZE \ --