[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5559F38F.8010908@redhat.com>
Date: Mon, 18 May 2015 10:13:35 -0400
From: Rik van Riel <riel@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>,
Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
CC: mingo@...nel.org, dedekind1@...il.com,
linux-kernel@...r.kernel.org, mgorman@...e.de, rostedt@...dmis.org,
juri.lelli@....com
Subject: Re: [RFC][PATCH 4/4] sched, numa: Ignore pinned tasks
On 05/18/2015 09:06 AM, Peter Zijlstra wrote:
> On Mon, 2015-05-18 at 18:30 +0530, Srikar Dronamraju wrote:
>>>
>>> static void account_numa_dequeue(struct rq *rq, struct task_struct *p)
>>> {
>>> + if (p->nr_cpus_allowed == 1) {
>>> + rq->nr_pinned_running--;
>>> + WARN_ON_ONCE(p->numa_preferred_nid != -1);
>>> + }
>>> rq->nr_numa_running -= (p->numa_preferred_nid != -1);
>>> rq->nr_preferred_running -= (p->numa_preferred_nid == task_node(p));
>>> }
>>
>>
>> Shouldnt we reset p->numa_preferred_nid when we are setting the allowed
>> cpus in set_cpus_allowed_common()?
>>
>> Otherwise if an process is set a preferred node based on its numa faults
>> but then is pinned to a different cpu, then we can see this warning.:w!
>
> We should never get preferred_nid set when nr_cpus_allowed == 1, see the
> hunk that changes task_tick_numa.
>
> So we set preferred = -1 on pinning, do not partake in numa balancing
> while this is so, therefore it should still be so when we dequeue,
> right?
It could be pinned after it has been running for a while,
with taskset -c <cpu> -p <pid>
--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists