Re: [patch 03/11] mm, mempolicy: remove per-process flag

From: Andrew Morton
Date: Fri Mar 07 2014 - 15:48:42 EST


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-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/