On Sat, Jan 16, 2021 at 12:30:36PM +0100, Peter Zijlstra wrote: > @@ -7608,6 +7614,12 @@ int sched_cpu_dying(unsigned int cpu) > } > rq_unlock_irqrestore(rq, &rf); > > + /* > + * Should really be after we clear cpu_online(), but we're in > + * stop_machine(), so it all works. > + */ > + balance_push_set(cpu, false);
Looking at the RCU thing just now made me realize we run all the DYING notifiers with cpu_online() already false, so the above comment is wrong and ordering in fact perfect.