Re: WARNING: possible circular locking dependency detected

From: Thomas Gleixner
Date: Thu Aug 31 2017 - 17:24:24 EST


On Thu, 31 Aug 2017, Thomas Gleixner wrote:
> On Thu, 31 Aug 2017, Peter Zijlstra wrote:
>
> > On Thu, Aug 31, 2017 at 09:55:57AM +0200, Thomas Gleixner wrote:
> > > > Arghh!!!
> > > >
> > > > And allowing us to create events for offline CPUs (possible I think, but
> > > > maybe slightly tricky) won't solve that, because we're already holding
> > > > the hotplug_lock during PREPARE.
> > >
> > > There are two ways to cure that:
> > >
> > > 1) Have a pre cpus_write_lock() stage which is serialized via
> > > cpus_add_remove_lock, which is the outer lock for hotplug.
> > >
> > > There we can sanely create stuff and fail with all consequences.
> >
> > True, if you're willing to add more state to that hotplug thing I'll try
> > and make that perf patch that allows attaching to offline CPUs.
>
> Now that I think more about it. That's going to be an interesting exercise
> vs. the hotplug state registration which relies on cpus_read_lock()
> serialization.....

We could have that for built-in stuff which is guaranteed to be never
unregistered. Pretty restricted, but for cases like that it could
work. Famous last work ...

Thanks,

tglx