Hi Andrew, attached is a patch that fixes the fragmentation that Badri noticed with kmem_cache_alloc_node. Could you add it to the mm tree? The patch is against 2.6.9-rc3-mm3. Description: kmem_cache_alloc_node tries to allocate memory from a given node. The current implementation contains two bugs: - the node aware code was used even for !CONFIG_NUMA systems. Fix: inline function that redefines kmem_cache_alloc_node as kmem_cache_alloc for !CONFIG_NUMA. - the code always allocated a new slab for each new allocation. This caused severe fragmentation. Fix: walk the slabp lists and search for a matching page instead of allocating a new page. - the patch also adds a new statistics field for node-local allocs. They should be rare - the codepath is quite slow, especially compared to the normal kmem_cache_alloc. Badri: Could you test it? Andrew, could you add the patch to the next -mm kernel? I'm running it right now, no obvious problems. Signed-Off-By: Manfred Spraul