Re: "Dying CPU not properly vacated" splat

From: Valentin Schneider
Date: Tue Aug 02 2022 - 05:30:14 EST


On 05/07/22 10:23, Paul E. McKenney wrote:
> The second of these occurred near shutdown, but the first was quite some
> time before shutdown. In case that makes a difference.
>
> I have not seen this since.
>
> Any other diagnostics I should add?
>

Sorry, I let this get buried to the bottom of my inbox :(

I've had another look at rcutorture.c but just like for
rcu_torture_reader(), I don't see any obvious culprit (no
kthread_set_per_cpu() usage)).

One thing I think would help is a scheduling trace (say sched_switch,
sched_wakeup and cpuhp*, combined with ftrace_dump_on_oops + panic_on_warn
?) - that should at least tell us if the issue is in the wakeup placement
(if the task gets placed on a dying CPU *after* CPUHP_AP_ACTIVE), or in the
balance_push() mechanism (the task was *already* on the CPU when it started
dying and never moved away).

Neither make sense to me, but it has to be somewhere in there...

> Thanx, Paul