On 12/3/18 5:31 PM, Bart Van Assche wrote: > On Mon, 2018-12-03 at 15:24 -0700, Jens Axboe wrote: >> On 12/3/18 3:02 AM, Ming Lei wrote: >>> Hi, >>> >>> Just found there is sbmitmap related lockdep warning, not take a close >>> look yet, maybe >>> it is caused by recent sbitmap change. >>> >>> [1] test >>> - modprobe null_blk queue_mode=2 nr_devices=4 shared_tags=1 >>> submit_queues=1 hw_queue_depth=1 >>> - then run fio on the 4 null_blk devices >> >> This is a false positive - lockdep thinks that ->swap_lock needs to be >> IRQ safe since it's called with IRQs disabled from the >> blk_mq_mark_tag_wait() path. But we never grab the lock from IRQ >> context. I wonder how to teach lockdep about that... > > There is probably a better solution, but one possible solution is to disable > lockdep checking for swap_lock by using lockdep_set_novalidate_class(). That does seem like a sledge hammer, but I don't see anything that does what we need directly. Surely this isn't a unique situation? Maybe marking it novalidate is just the way to do it... -- Jens Axboe