Re: Lockdep splat involving all_q_mutex

From: Paul E. McKenney
Date: Fri May 12 2017 - 01:02:57 EST


On Thu, May 11, 2017 at 01:23:44PM -0700, Paul E. McKenney wrote:
> On Thu, May 11, 2017 at 02:12:39PM -0600, Jens Axboe wrote:
> > On 05/10/2017 09:13 PM, Paul E. McKenney wrote:
> > > On Wed, May 10, 2017 at 08:55:54PM -0600, Jens Axboe wrote:
> > >> On 05/10/2017 04:34 PM, Paul E. McKenney wrote:
> > >>> Hello!
> > >>>
> > >>> I got the lockdep splat shown below during some rcutorture testing (which
> > >>> does CPU hotplug operations) on mainline at commit dc9edaab90de ("Merge
> > >>> tag 'acpi-extra-4.12-rc1' of git://git.kernel.org/.../rafael/linux-pm").
> > >>> My kneejerk reaction was just to reverse the "mutex_lock(&all_q_mutex);"
> > >>> and "get_online_cpus();" in blk_mq_init_allocated_queue(), but then
> > >>> I noticed that commit eabe06595d62 ("block/mq: Cure cpu hotplug lock
> > >>> inversion") just got done moving these two statements in the other
> > >>> direction.
> > >>
> > >> The problem is that that patch got merged too early, as it only
> > >> fixes a lockdep splat with the cpu hotplug rework. Fix is coming Linus'
> > >> way, it's in my for-linus tree.
> > >
> > > Thank you for the update, looking forward to the fix.
> >
> > It's upstream now.
>
> Thank you, Jens! I will test it this evening, Pacific Time.

And no more lockep splats, thank you!

Thanx, Paul