Messages in this thread Patch in this message | | | Date | Mon, 12 Apr 2021 12:55:14 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 2/3] cpumask: Introduce DYING mask |
| |
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);
> 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.
| |