Re: hotplug lockdep splat (tip)

From: Mike Galbraith
Date: Mon Sep 04 2017 - 12:32:21 EST


On Mon, 2017-09-04 at 16:24 +0200, Peter Zijlstra wrote:
> On Mon, Sep 04, 2017 at 03:27:07PM +0200, Mike Galbraith wrote:
> > On Mon, 2017-09-04 at 09:55 +0200, Peter Zijlstra wrote:
> > > On Sun, Sep 03, 2017 at 08:59:35AM +0200, Mike Galbraith wrote:
> > > >
> > > > [ 126.626908] Unregister pv shared memory for cpu 1
> > > > [ 126.631041]
> > > > [ 126.631269] ======================================================
> > > > [ 126.632442] WARNING: possible circular locking dependency detected
> > > > [ 126.633599] 4.13.0.g06260ca-tip-lockdep #2 Tainted: G E
> > > > [ 126.634380] ------------------------------------------------------
> > > > [ 126.635124] stress-cpu-hotp/3156 is trying to acquire lock:
> > > > [ 126.635804] ((complete)&st->done){+.+.}, at: [<ffffffff8108d19a>] takedown_cpu+0x8a/0xf0
> > > > [ 126.636809]
> > > > [ 126.636809] but task is already holding lock:
> > > > [ 126.637567] (sparse_irq_lock){+.+.}, at: [<ffffffff81107ac7>] irq_lock_sparse+0x17/0x20
> > > > [ 126.638665]
> > >
> > > https://lkml.kernel.org/r/20170829193416.GC32112@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> >
> > Well, flavor of gripe changed.
> >
> > [ 164.114290] ======================================================
> > [ 164.115146] WARNING: possible circular locking dependency detected
> > [ 164.115751] 4.13.0.g90abd70-tip-lockdep #4 Tainted: G E
> > [ 164.116348] ------------------------------------------------------
> > [ 164.116919] cpuhp/0/12 is trying to acquire lock:
> > [ 164.117381] (cpuhp_state){+.+.}, at: [<ffffffff8108e4aa>] cpuhp_thread_fun+0x2a/0x160
> > [ 164.118097]
> > but now in release context of a crosslock acquired at the following:
> > [ 164.118845] ((complete)&per_cpu_ptr(&cpuhp_state, i)->done#2){+.+.}, at: [<ffffffff8108e71f>] cpuhp_issue_call+0x13f/0x170
> > [ 164.119789]
>
> Cute, I'd not seen that one.. anything special required to reproduce?

No. ÂI build an enterprise(ish) config, run it in a KVM box, with the
guest being a full clone of the host, just memory constrained so it
can't oom the host.

-Mike