On Tue, 12 Jan 2010, Alex Chiang wrote: > My HP rx8640 (ia64, 16 CPUs) is experiencing a bad paging request > during boot. Hmmm... Thats with 64k page size? > SLUB: Unable to allocate memory from node 2 > SLUB: Allocating a useless per node structure in order to be able to continue Huh? What wrong with node 2? > [] kmem_cache_open+0x420/0xca0 > sp=e00007860955fdf0 bsp=e0000786095512e0 > [] dma_kmalloc_cache+0x2d0/0x440 > sp=e00007860955fdf0 bsp=e000078609551290 Maybe we miscalculated the number of DMA caches needed. Does this patch fix it? --- include/linux/slub_def.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux-2.6/include/linux/slub_def.h =================================================================== --- linux-2.6.orig/include/linux/slub_def.h 2010-01-13 08:50:43.000000000 -0600 +++ linux-2.6/include/linux/slub_def.h 2010-01-13 08:50:50.000000000 -0600 @@ -134,7 +134,7 @@ struct kmem_cache { #ifdef CONFIG_ZONE_DMA #define SLUB_DMA __GFP_DMA /* Reserve extra caches for potential DMA use */ -#define KMALLOC_CACHES (2 * SLUB_PAGE_SHIFT - 6) +#define KMALLOC_CACHES (2 * SLUB_PAGE_SHIFT) #else /* Disable DMA functionality */ #define SLUB_DMA (__force gfp_t)0