lkml.org 
[lkml]   [2021]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] cpumask: Introduce DYING mask
On 04/12/21 12:55, Peter Zijlstra wrote:
> On Sun, Mar 21, 2021 at 07:30:37PM +0000, Qais Yousef wrote:
> > On 03/10/21 15:53, Peter Zijlstra wrote:
> > > --- a/kernel/cpu.c
> > > +++ b/kernel/cpu.c
> > > @@ -160,6 +160,9 @@ static int cpuhp_invoke_callback(unsigne
> > > int (*cb)(unsigned int cpu);
> > > int ret, cnt;
> > >
> > > + if (bringup != !cpu_dying(cpu))
> >
> > nit: this condition is hard to read
> >
> > > + set_cpu_dying(cpu, !bringup);
>
> How's:
>
> if (cpu_dying(cpu) != !bringup)
> set_cpu_dying(cpu, !bringup);

Slightly better I suppose :)

>
> > since cpu_dying() will do cpumask_test_cpu(), are we saving much if we
> > unconditionally call set_cpu_dying(cpu, !bringup) which performs
> > cpumask_{set, clear}_cpu()?
>
> This is hotplug, it's all slow, endlessly rewriting that bit shouldn't
> be a problem I suppose.

True. Beside I doubt there's a performance hit really, cpu_dying() will read
the bit in the cpumask anyway, unconditionally writing will be as fast since
both will fetch the cacheline anyway?

Regardless, not really a big deal. It's not really the hardest thing to stare
at here ;-)

Thanks

--
Qais Yousef

\
 
 \ /
  Last update: 2021-04-12 13:22    [W:0.079 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site