Re: Query regarding deadlock involving cgroup_threadgroup_rwsem and cpu_hotplug_lock

From: Michal Koutný
Date: Mon Aug 15 2022 - 05:06:04 EST


+Cc: Zhao Gongyi <zhaogongyi@xxxxxxxxxx>, Zhang Qiao <zhangqiao22@xxxxxxxxxx>

On Fri, Aug 12, 2022 at 03:57:00PM +0530, Mukesh Ojha <quic_mojha@xxxxxxxxxxx> wrote:
> The original patch of yours [1] and the revert of [2] is fixing the issue
> and it is also confirmed here [3].
> Can we get proper fix merge on your tree?
>
> [1] https://lore.kernel.org/lkml/YuGbYCfAG81mZBnN@xxxxxxxxxxxxxxx/
>
> [2]
> https://lore.kernel.org/all/20220121101210.84926-1-zhangqiao22@xxxxxxxxxx/

The revert + Tejun's patch looks fine wrt the problem of the reverted
patch (just moves cpus_read_lock to upper callers).

I'd just suggest a comment that'd explicitly document also the lock
order that we stick to, IIUC, it should be:

cpu_hotplug_lock // cpus_read_lock
cgroup_threadgroup_rwsem
cpuset_rwsem

Michal

>
> [3] https://lore.kernel.org/lkml/CAB8ipk-72V-bYRfL-VcSRSyXTeQqkBVj+1d5MHSVV5CTar9a0Q@xxxxxxxxxxxxxx/
>
> -Mukesh