Re: [RFC] blk-mq: clean up the hctx restart
From: Ming Lei <hidden>
Date: 2018-07-31 06:16:37
Also in:
lkml
On Tue, Jul 31, 2018 at 01:19:42PM +0800, jianchao.wang wrote:
Hi Ming On 07/31/2018 12:58 PM, Ming Lei wrote:quoted
On Tue, Jul 31, 2018 at 12:02:15PM +0800, Jianchao Wang wrote:quoted
Currently, we will always set SCHED_RESTART whenever there are requests in hctx->dispatch, then when request is completed and freed the hctx queues will be restarted to avoid IO hang. This is unnecessary most of time. Especially when there are lots of LUNs attached to one host, the RR restart loop could be very expensive.The big RR restart loop has been killed in the following commit: commit 97889f9ac24f8d2fc8e703ea7f80c162bab10d4d Author: Ming Lei [off-list ref] Date: Mon Jun 25 19:31:48 2018 +0800 blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set()Oh, sorry, I didn't look into this patch due to its title when iterated the mail list, therefore I didn't realize the RR restart loop has already been killed. :) The RR restart loop could ensure the fairness of sharing some LLDD resource, not just avoid IO hung. Is it OK to kill it totally ?
Yeah, it is, also the fairness might be improved a bit by the way in commit 97889f9ac24f8d2fc, especially inside driver tag allocation algorithem. Thanks, Ming