On Wed, 4 Dec 2013, Christoph Lameter wrote: > > PF_MEMPOLICY is an unnecessary optimization for CONFIG_SLAB users. > > There's no significant performance degradation to checking > > current->mempolicy rather than current->flags & PF_MEMPOLICY in the > > allocation path, especially since this is considered unlikely(). > > The use of current->mempolicy increase the cache footprint since its in a > rarely used cacheline. This performance issue would occur when memory > policies are not used since that cacheline would then have to be touched > regardless of memory policies be in effect or not. PF_MEMPOLICY was used > to avoid touching the cacheline. > Right, but it turns out not to matter in practice. As one of the non- default CONFIG_SLAB users, and PF_MEMPOLICY only does something for CONFIG_SLAB, this patch tested to not show any degradation for specjbb which stresses the allocator in terms of throughput: with patch: 128761.54 SPECjbb2005 bops without patch: 127576.65 SPECjbb2005 bops These per-process flags are a scarce resource so I don't think PF_MEMPOLICY warrants a bit when it's not shown to be advantageous in configurations without mempolicy usage where it's intended to optimize, especially for a non-default slab allocator. -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html