lkml.org 
[lkml]   [2021]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.

\
 
 \ /
  Last update: 2021-04-08 18:51    [W:0.453 / U:0.100 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site