[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170919015527.GE5994@X58A-UD3R>
Date: Tue, 19 Sep 2017 10:55:27 +0900
From: Byungchul Park <byungchul.park@....com>
To: Steven Rostedt <rostedt@...dmis.org>
Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Neeraj Upadhyay <neeraju@...eaurora.org>,
josh@...htriplett.org, mathieu.desnoyers@...icios.com,
jiangshanlai@...il.com, linux-kernel@...r.kernel.org,
sramana@...eaurora.org, prsood@...eaurora.org,
pkondeti@...eaurora.org, markivx@...eaurora.org,
peterz@...radead.org, kernel-team@....com
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@...ux.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
Powered by blists - more mailing lists