[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YG7nMj8RxoyX9D3B@hirez.programming.kicks-ass.net>
Date: Thu, 8 Apr 2021 13:21:22 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
Cc: Ingo Molnar <mingo@...nel.org>, Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.comi>, Mel Gorman <mgorman@...e.de>,
Len Brown <len.brown@...el.com>,
Srinivas Pandruvada <srinivas.pandruvada@...ux.intel.com>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Aubrey Li <aubrey.li@...ux.intel.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Ricardo Neri <ricardo.neri@...el.com>,
Quentin Perret <qperret@...gle.com>,
"Joel Fernandes (Google)" <joel@...lfernandes.org>,
linux-kernel@...r.kernel.org, Aubrey Li <aubrey.li@...el.com>,
Ben Segall <bsegall@...gle.com>,
Daniel Bristot de Oliveira <bristot@...hat.com>
Subject: Re: [PATCH 3/4] sched/fair: Consider SMT in ASYM_PACKING load balance
On Tue, Apr 06, 2021 at 04:17:51PM -0700, Ricardo Neri wrote:
> On Tue, Apr 06, 2021 at 01:18:09PM +0200, Peter Zijlstra wrote:
> > On Mon, Apr 05, 2021 at 09:11:07PM -0700, Ricardo Neri wrote:
> > > +static bool cpu_group_is_smt(int cpu, struct sched_group *sg)
> > > +{
> > > +#ifdef CONFIG_SCHED_SMT
> > > + if (!static_branch_likely(&sched_smt_present))
> > > + return false;
> > > +
> > > + if (sg->group_weight == 1)
> > > + return false;
> > > +
> > > + if (cpumask_weight(cpu_smt_mask(cpu)) == 1)
> > > + return false;
> >
> > Please explain this condition. Why is it required?
>
> Thank you for your quick review Peter!
>
> Probably this is not required since the previous check verifies the
> group weight, and the subsequent check makes sure that @sg matches the
> SMT siblings of @cpu.
So the thing is that cpumask_weight() can be fairly expensive, depending
on how large the machine is.
Now I suppose this mixing of SMT and !SMT cores is typical for 'small'
machines (for now), but this is enabled for everything with ITMT on,
which might very well include large systems.
So yes, if it can go away, that'd be good.
Powered by blists - more mailing lists