[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <991291cf-68e8-24ef-f3a2-ee8a45f58b6a@oracle.com>
Date: Tue, 24 Apr 2018 15:39:40 -0700
From: Subhra Mazumdar <subhra.mazumdar@...cle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: linux-kernel@...r.kernel.org, mingo@...hat.com,
daniel.lezcano@...aro.org, steven.sistare@...cle.com,
dhaval.giani@...cle.com, rohit.k.jain@...cle.com
Subject: Re: [PATCH 2/3] sched: introduce per-cpu var next_cpu to track search
limit
On 04/24/2018 05:47 AM, Peter Zijlstra wrote:
> On Mon, Apr 23, 2018 at 05:41:15PM -0700, subhra mazumdar wrote:
>> @@ -17,6 +17,7 @@
>> #include <trace/events/sched.h>
>>
>> DEFINE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues);
>> +DEFINE_PER_CPU_SHARED_ALIGNED(int, next_cpu);
>>
>> #if defined(CONFIG_SCHED_DEBUG) && defined(HAVE_JUMP_LABEL)
>> /*
>> @@ -6018,6 +6019,7 @@ void __init sched_init(void)
>> struct rq *rq;
>>
>> rq = cpu_rq(i);
>> + per_cpu(next_cpu, i) = -1;
> If you leave it uninitialized it'll be 0, and we can avoid that extra
> branch in the next patch, no?
0 can be a valid cpu id. I wanted to distinguish the first time. The branch
predictor will be fully trained so will not have any cost.
Powered by blists - more mailing lists