Re: Lockdep splat involving all_q_mutex
From: Paul E. McKenney
Date: Thu May 11 2017 - 16:23:53 EST
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.
Thanx, Paul