On Wed, 16 Nov 2011, Theodore Tso wrote: > On Nov 16, 2011, at 10:04 AM, Namjae Jeon wrote: > > > If slab caches set to SLAB_MEM_SPREAD flags, The allocation is spread > > evenly over all the memory nodes instead of favoring allocation on the > > node local to current cpu. > > And why do you think this is a good thing? For mballoc in particular, > the data structures are used immediately and then freed immediately --- > on the local node, so using a non-local memory just makes things worse > in a NUMA system. > I don't think this has the effect that Namjae thinks it does: this is only useful for CONFIG_SLAB and when you have cpusets enabled with cpuset.memory_spread_slab set. To test how useful it is, you should enable CONFIG_SLAB and then mount cpusets, set cpuset.memory_spread_slab, and create an MPOL_INTERLEAVE mempolicy over all online nodes. This will have the same effect as adding SLAB_MEM_SPREAD to these slab caches (it just doesn't require the mempolicy) and will be able to quantify the effects without any changes to the kernel at all. -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html