On Fri, 07 Mar 2014 09:20:39 -0800 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote: > David Rientjes <rientjes@xxxxxxxxxx> writes: > > > > Per-process flags are a scarce resource so we should free them up > > whenever possible and make them available. We'll be using it shortly for > > memcg oom reserves. > > I'm not convinced TCP_RR is a meaningfull benchmark for slab. > > The shortness seems like an artificial problem. > > Just add another flag word to the task_struct? That would seem > to be the obvious way. People will need it sooner or later anyways. > This is basically what the patch does: @@ -3259,7 +3259,7 @@ __do_cache_alloc(struct kmem_cache *cach { void *objp; - if (unlikely(current->flags & (PF_SPREAD_SLAB | PF_MEMPOLICY))) { + if (current->mempolicy || unlikely(current->flags & PF_SPREAD_SLAB)) { objp = alternate_node_alloc(cache, flags); if (objp) goto out; It runs when slab goes into the page allocator for backing store (ie: relatively rarely). It adds one test-n-branch when a mempolicy is active and actually removes instructions when no mempolicy is active. This patch won't be making any difference to anything. -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html