2012-10-01 10:51:20

by Peter Zijlstra

[permalink] [raw]
Subject: Re: task_work_add/scheduler_tick: possible circular locking dependency detected

On Fri, 2012-09-28 at 19:34 +0800, Fengguang Wu wrote:
> Peter,
>
> I got the warning
>
> [ 10.412023]
> [ 10.412611] ======================================================
> [ 10.413014] [ INFO: possible circular locking dependency detected ]
> [ 10.413014] 3.6.0-rc4-00098-g7eaffe9 #402 Not tainted
> [ 10.413014] -------------------------------------------------------
> [ 10.413014] init/1 is trying to acquire lock:
> [ 10.413014] (&p->pi_lock){-.-.-.}, at: [<ffffffff81088214>] task_work_add+0x28/0x82
> [ 10.413014]
> [ 10.413014] but task is already holding lock:
> [ 10.413014] (&rq->lock){-.-.-.}, at: [<ffffffff8109c6ea>] scheduler_tick+0x3f/0xec
> [ 10.413014]
> [ 10.413014] which lock already depends on the new lock.
> [ 10.413014]
> [ 10.413014]
>

The commit ac3d0da8f3290b3d394cdb7f50604424a7cd6092 should avoid this
from happening, not sure what branch its on, but it was in tip before
all this landed, so I guess its due to you testing sched/numa branch and
not a merged branch like master or auto-next.


2012-10-01 11:59:44

by Fengguang Wu

[permalink] [raw]
Subject: Re: task_work_add/scheduler_tick: possible circular locking dependency detected

On Mon, Oct 01, 2012 at 12:50:39PM +0200, Peter Zijlstra wrote:
> On Fri, 2012-09-28 at 19:34 +0800, Fengguang Wu wrote:
> > Peter,
> >
> > I got the warning
> >
> > [ 10.412023]
> > [ 10.412611] ======================================================
> > [ 10.413014] [ INFO: possible circular locking dependency detected ]
> > [ 10.413014] 3.6.0-rc4-00098-g7eaffe9 #402 Not tainted
> > [ 10.413014] -------------------------------------------------------
> > [ 10.413014] init/1 is trying to acquire lock:
> > [ 10.413014] (&p->pi_lock){-.-.-.}, at: [<ffffffff81088214>] task_work_add+0x28/0x82
> > [ 10.413014]
> > [ 10.413014] but task is already holding lock:
> > [ 10.413014] (&rq->lock){-.-.-.}, at: [<ffffffff8109c6ea>] scheduler_tick+0x3f/0xec
> > [ 10.413014]
> > [ 10.413014] which lock already depends on the new lock.
> > [ 10.413014]
> > [ 10.413014]
> >
>
> The commit ac3d0da8f3290b3d394cdb7f50604424a7cd6092 should avoid this
> from happening, not sure what branch its on, but it was in tip before
> all this landed, so I guess its due to you testing sched/numa branch and
> not a merged branch like master or auto-next.

Peter, you are right, it's tested in tip:sched/numa. linux-next is
fine. Hmm, I should automatically test linux-next before raising the
problem, hehe.

Thanks,
Fengguang

2012-10-01 12:05:22

by Ingo Molnar

[permalink] [raw]
Subject: Re: task_work_add/scheduler_tick: possible circular locking dependency detected


* Fengguang Wu <[email protected]> wrote:

> On Mon, Oct 01, 2012 at 12:50:39PM +0200, Peter Zijlstra wrote:
> > On Fri, 2012-09-28 at 19:34 +0800, Fengguang Wu wrote:
> > > Peter,
> > >
> > > I got the warning
> > >
> > > [ 10.412023]
> > > [ 10.412611] ======================================================
> > > [ 10.413014] [ INFO: possible circular locking dependency detected ]
> > > [ 10.413014] 3.6.0-rc4-00098-g7eaffe9 #402 Not tainted
> > > [ 10.413014] -------------------------------------------------------
> > > [ 10.413014] init/1 is trying to acquire lock:
> > > [ 10.413014] (&p->pi_lock){-.-.-.}, at: [<ffffffff81088214>] task_work_add+0x28/0x82
> > > [ 10.413014]
> > > [ 10.413014] but task is already holding lock:
> > > [ 10.413014] (&rq->lock){-.-.-.}, at: [<ffffffff8109c6ea>] scheduler_tick+0x3f/0xec
> > > [ 10.413014]
> > > [ 10.413014] which lock already depends on the new lock.
> > > [ 10.413014]
> > > [ 10.413014]
> > >
> >
> > The commit ac3d0da8f3290b3d394cdb7f50604424a7cd6092 should avoid this
> > from happening, not sure what branch its on, but it was in tip before
> > all this landed, so I guess its due to you testing sched/numa branch and
> > not a merged branch like master or auto-next.
>
> Peter, you are right, it's tested in tip:sched/numa. linux-next is
> fine. Hmm, I should automatically test linux-next before raising the
> problem, hehe.

tip:master is well-tested and generally a couple of days fresher
than linux-next, so in such a case where you are interested in
tip:sched/numa you should probably test tip:master.

Thanks,

Ingo

2012-10-01 12:14:42

by Fengguang Wu

[permalink] [raw]
Subject: Re: task_work_add/scheduler_tick: possible circular locking dependency detected

On Mon, Oct 01, 2012 at 02:05:15PM +0200, Ingo Molnar wrote:
>
> * Fengguang Wu <[email protected]> wrote:
>
> > On Mon, Oct 01, 2012 at 12:50:39PM +0200, Peter Zijlstra wrote:
> > > On Fri, 2012-09-28 at 19:34 +0800, Fengguang Wu wrote:
> > > > Peter,
> > > >
> > > > I got the warning
> > > >
> > > > [ 10.412023]
> > > > [ 10.412611] ======================================================
> > > > [ 10.413014] [ INFO: possible circular locking dependency detected ]
> > > > [ 10.413014] 3.6.0-rc4-00098-g7eaffe9 #402 Not tainted
> > > > [ 10.413014] -------------------------------------------------------
> > > > [ 10.413014] init/1 is trying to acquire lock:
> > > > [ 10.413014] (&p->pi_lock){-.-.-.}, at: [<ffffffff81088214>] task_work_add+0x28/0x82
> > > > [ 10.413014]
> > > > [ 10.413014] but task is already holding lock:
> > > > [ 10.413014] (&rq->lock){-.-.-.}, at: [<ffffffff8109c6ea>] scheduler_tick+0x3f/0xec
> > > > [ 10.413014]
> > > > [ 10.413014] which lock already depends on the new lock.
> > > > [ 10.413014]
> > > > [ 10.413014]
> > > >
> > >
> > > The commit ac3d0da8f3290b3d394cdb7f50604424a7cd6092 should avoid this
> > > from happening, not sure what branch its on, but it was in tip before
> > > all this landed, so I guess its due to you testing sched/numa branch and
> > > not a merged branch like master or auto-next.
> >
> > Peter, you are right, it's tested in tip:sched/numa. linux-next is
> > fine. Hmm, I should automatically test linux-next before raising the
> > problem, hehe.
>
> tip:master is well-tested and generally a couple of days fresher
> than linux-next, so in such a case where you are interested in
> tip:sched/numa you should probably test tip:master.

OK, thanks for the tip!

Regards,
Fengguang