Thread (14 messages) 14 messages, 3 authors, 2018-08-03

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help