Re: printk deadlock due to double lock attempt on current CPU's runqueue

From: Michal Koutný
Date: Wed Nov 10 2021 - 05:45:15 EST


On Wed, Nov 10, 2021 at 10:00:35AM +0100, Vincent Guittot <vincent.guittot@xxxxxxxxxx> wrote:
> Is it the same SCHED_WARN_ON(rq->tmp_alone_branch !=
> &rq->leaf_cfs_rq_list); that generates the deadlock on v5.15 too ?
>
> one remaining tmp_alone_branch warning has been fixed in v5.15 with
> 2630cde26711 ("sched/fair: Add ancestors of unthrottled undecayed cfs_rq")

AFAIK, the warning is typically triggered on v5.13 when CPU throttling is
employeed. The cfs_rq list is mis-ordered but it shouldn't be fatal.
But the throttling currently (since v5.13 too) also exposes a race on
task_group removal that can lead to corrupting the cfs_rq list (another
thread [1], I'll leave this thread for printk (non)-locking).

HTH,
Michal

[1] https://lore.kernel.org/r/20211011172236.11223-1-mkoutny@xxxxxxxx/