On Fri, Jun 23, 2023 at 01:08:33PM -0700, Bart Van Assche wrote: > Does it matter in this context whether list_empty_careful() or list_empty() > is used? If blk_mq_process_requeue_list() is called concurrently with code > that adds an element to one of these two lists it is guaranteed that the > queue will be run again. This is why I think that it is fine that the list > checks in blk_mq_process_requeue_list() race with concurrent list > additions. As far as I can tell we're not holding the relevant lock, so I think we need list_empty_careful. Or am I missing something?