Thread (3 messages) flat view 3 messages, 3 authors, 2018-08-09

Re: [PATCH V3] blk-mq: count the hctx as active before allocate tag

From: Jens Axboe <axboe@kernel.dk>
Date: 2018-08-09 14:35:32
Also in: lkml

On 8/8/18 8:09 PM, Jianchao Wang wrote:
Currently, we count the hctx as active after allocate driver tag
successfully. If a previously inactive hctx try to get tag first
time, it may fails and need to wait. However, due to the stale tag
->active_queues, the other shared-tags users are still able to
occupy all driver tags while there is someone waiting for tag.
Consequently, even if the previously inactive hctx is waked up, it
still may not be able to get a tag and could be starved.

To fix it, we count the hctx as active before try to allocate driver
tag, then when it is waiting the tag, the other shared-tag users
will reserve budget for it.
Hand-applied for 4.19 (didn't apply directly).

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help