On Mon, 18 Sep 2017 09:24:12 -0700 "Paul E. McKenney" <paul...@linux.vnet.ibm.com> wrote:
> As soon as I work through the backlog of lockdep complaints that > appeared in the last merge window... :-( > > sparse_irq_lock, I am looking at you!!! ;-) I just hit one too, and decided to write a patch to show a chain of 3 when applicable. For example: Chain exists of: cpu_hotplug_lock.rw_sem --> smpboot_threads_lock --> (complete)&self->parked Possible unsafe locking scenario by crosslock: CPU0 CPU1 CPU2 ---- ---- ---- lock(smpboot_threads_lock); lock((complete)&self->parked); lock(cpu_hotplug_lock.rw_sem); lock(smpboot_threads_lock); lock(cpu_hotplug_lock.rw_sem); unlock((complete)&self->parked); *** DEADLOCK *** :-) -- Steve