Thread (13 messages) 13 messages, 2 authors, 2020-12-11

Re: [RFC PATCH] blk-mq: Clean up references when freeing rqs

From: John Garry <hidden>
Date: 2020-12-09 09:56:50
Also in: lkml

On 09/12/2020 01:01, Ming Lei wrote:
blk_mq_queue_tag_busy_iter() can be run on another request queue just
between one driver tag is allocated and updating the request map, so one
extra request reference still can be grabbed.

So looks only holding one queue's usage_counter doesn't help this issue, since
bt_for_each() always iterates on driver tags wide.
quoted
But I didn't see such a guard for blk_mq_tagset_busy_iter().
IMO there isn't real difference between the two iteration.
ok, I see. Let me try to recreate that one, which will prob again 
require artificial delays added.

Apart from this, my concern is that we come with for a solution, but 
it's a complicated solution and may not be accepted as this issue is not 
seen as a problem in practice.

Thanks,
John
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help