Messages in this thread |  | | Date | Mon, 18 Sep 2017 09:55:27 -0700 | From | "Paul E. McKenney" <> | Subject | Re: Query regarding synchronize_sched_expedited and resched_cpu |
| |
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" <paulmck@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 *** > > :-)
Nice!!!
My next step is reverting 12ac1d0f6c3e ("genirq: Make sparse_irq_lock protect what it should protect") to see if that helps.
Thanx, Paul
|  |