Re: [PATCH 2/2] ufs: don't use the fair tag sharings

From: Yu Kuai
Date: Wed May 17 2023 - 21:49:15 EST


Hi,

在 2023/05/18 2:23, Bart Van Assche 写道:
On 5/17/23 00:49, Yu Kuai wrote:
在 2023/05/16 23:12, Bart Van Assche 写道:
I propose that we switch to one of these two approaches:

How about a smoothing method that the device with more io will share
more tag, and each device will get at least one tag?

Hi Yu,

hctx_may_queue() is called from the hot path (blk_mq_get_tag()). I'm pretty sure that adding any nontrivial code in that path will cause a performance (IOPS) regression. So I don't think that adding a smoothing method in hctx_may_queue() is a realistic option.


Currently, fair share from hctx_may_queue() requires two
atomic_read(active_queues and active_requests), I think this smoothing
method can be placed into get_tag fail path, for example, the more times
a disk failed to get tag in a period of time, the more tag this disk can
get, and all the information can be updated here(perhaps directly
record how many tags a disk can get, then hctx_may_queue() still only
require 2 atomic_read()).

Thanks,
Bart