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

Reply via email to