Hi, alloc_percpu() calls kmem_cache_alloc_node() to allocate memory on a particular node. But for non-NUMA cases, it doesn't matter all the memory comes from same node. This patch short-cuts and calls kmalloc() if its non-NUMA. I hate to add #ifdefs in the mainline code, but I don't see easy way around. kmem_cache_alloc_node()allocates a new slab to satisfy allocation from that node instead of doing it from a partial slab from that node - which causes fragmentation (with my scsi-debug tests). Thats my next problem to deal with. BTW, with this patch size-64 cache is no longer fragmented for scsi-debug test case. size-64 76920 76921 64 61 1 : tunables 120 60 8 : slabdata 1261 1261 0 Thanks, Badari