Messages in this thread |  | | Date | Mon, 18 Sep 2017 12:29:31 -0400 | From | Steven Rostedt <> | Subject | Re: Query regarding synchronize_sched_expedited and resched_cpu |
| |
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 ***
:-)
-- Steve
|  |