On Mon, Sep 18, 2017 at 12:29:31PM -0400, Steven Rostedt wrote: > 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.
Hello Steven, I really agree with this. Currently, in case that more than two locks participates in a deadlock, the report informs insuffucuently. Thanks, Byungchul > > 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