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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>