[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210301170849.GK2028034@linux.vnet.ibm.com>
Date: Mon, 1 Mar 2021 22:38:49 +0530
From: Srikar Dronamraju <srikar@...ux.vnet.ibm.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...nel.org>,
LKML <linux-kernel@...r.kernel.org>,
Mel Gorman <mgorman@...hsingularity.net>,
Rik van Riel <riel@...riel.com>,
Thomas Gleixner <tglx@...utronix.de>,
Valentin Schneider <valentin.schneider@....com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Michael Ellerman <mpe@...erman.id.au>,
Michael Neuling <mikey@...ling.org>,
Gautham R Shenoy <ego@...ux.vnet.ibm.com>,
Parth Shah <parth@...ux.ibm.com>
Subject: Re: [PATCH] sched/fair: Prefer idle CPU to cache affinity
* Peter Zijlstra <peterz@...radead.org> [2021-03-01 16:40:33]:
> On Fri, Feb 26, 2021 at 10:10:29PM +0530, Srikar Dronamraju wrote:
> > +static int prefer_idler_llc(int this_cpu, int prev_cpu, int sync)
> > +{
> > + struct sched_domain_shared *tsds, *psds;
> > + int pnr_busy, pllc_size, tnr_busy, tllc_size, diff;
> > +
> > + tsds = rcu_dereference(per_cpu(sd_llc_shared, this_cpu));
> > + tnr_busy = atomic_read(&tsds->nr_busy_cpus);
> > + tllc_size = per_cpu(sd_llc_size, this_cpu);
> > +
> > + psds = rcu_dereference(per_cpu(sd_llc_shared, prev_cpu));
> > + pnr_busy = atomic_read(&psds->nr_busy_cpus);
> > + pllc_size = per_cpu(sd_llc_size, prev_cpu);
> > +
>
> nr_busy_cpus is NO_HZ_COMMON So this code that consumes it should be
> too.
Thanks Peter, will take care of this along with other changes including
calling within rcu_read_lock and checking for tsds and psds after
rcu_dereference.
--
Thanks and Regards
Srikar Dronamraju
Powered by blists - more mailing lists