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