Re: Lockdep splat involving all_q_mutex

From: Jens Axboe
Date: Thu May 11 2017 - 16:12:46 EST


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.

--
Jens Axboe