Re: WARNING: possible circular locking dependency detected

From: Thomas Gleixner
Date: Thu Aug 31 2017 - 04:15:26 EST


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.....

Thanks,

tglx