Re: [PATCH] ext4: slab caches set to SLAB_MEM_SPREAD flags.

From: David Rientjes
Date: Wed Nov 16 2011 - 16:52:50 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/