Re: [PATCH] block: don't grab elevator lock during queue initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>> I don't know why we think your earlier fix which cut dependency between 
>> ->elevator_lock and ->freeze_lock doesn't work. But anyways, my view
>> is that we've got into these lock chains from two different code paths:
> 
> As I explained, blk_mq_enter_no_io() is same with freeze queue, just the
> lock in __bio_queue_enter() isn't modeled. If it is done, every lockdep
> warning will be re-triggered too.
> 
Oh I see, because I tested your earlier patches without lock modeled I 
didn't encounter any lockdep warning.

>>
>> path1: elevator_lock 
>>          -> fs_reclaim (GFP_KERNEL)
>>            -> freeze_lock
>>
>> path2: freeze_lock(memalloc_noio) 
>>          -> elevator_lock 
>>            -> fs_reclaim (this becomes NOP in this case due to memalloc_noio)
> 
> No, there isn't fs_reclaim in path2, and memalloc_noio() will avoid it.
> 
Yes correct and so I mentioned above NOP for fs_reclaim in path2.

Thanks,
--Nilay




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux