[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170921135749.i35iq6hlxys3eb7k@hirez.programming.kicks-ass.net>
Date: Thu, 21 Sep 2017 15:57:49 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@...dmis.org>,
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
Subject: Re: Query regarding synchronize_sched_expedited and resched_cpu
On Mon, Sep 18, 2017 at 09:55:27AM -0700, Paul E. McKenney wrote:
> 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!!! ;-)
That one is a false positive and I have send patches to address.
> > 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!!!
That one looks like the watchdog thing, and Thomas was poking at that.
Powered by blists - more mailing lists