Thread (6 messages) 6 messages, 2 authors, 2017-10-18

Re: [PATCH 0/2] block/SCSI MQ: two RESTART related patches

From: John Garry <hidden>
Date: 2017-10-17 15:50:06
Also in: linux-scsi, lkml

On 17/10/2017 06:12, Ming Lei wrote:
On Tue, Oct 17, 2017 at 01:04:16PM +0800, Ming Lei wrote:
quoted
Hi Jens,

The 1st patch runs idle hctx after dealy in scsi_mq_get_budget(),
so that we can keep same behaviour with before, and it can be
thought as a fix.

The 2nd patch cleans up RESTART, and removes handling for TAG_SHARED
from current blk-mq's RESTART mechanism because SCSI_MQ can covers its
restart by itself, so that no need to handle TAG_SHARED in blk-mq
RESTART. And >20% IOPS boost is observed in my rand read test over
scsi_debug.

John, please test this two patches and see if it may improve your SAS
IO performance, and you can find the two patches in the following branch:

	https://github.com/ming1/linux/commits/blk_mq_improve_restart_V1
Hi Ming,

As requested, here's my figures for blk_mq_improve_restart_V1:
without default SCSI_MQ, deadline scheduler, CONFIG PREEMPT off
read, rw, write IOPS	
989K, 113K/113K, 835K

with default SCSI_MQ, mq-deadline scheduler, CONFIG PREEMPT off
read, rw, write IOPS	
738K, 130K/130K, 686K

For axboe for-next tip (21ed538):
without default SCSI_MQ, deadline scheduler, CONFIG PREEMPT off
read, rw, write IOPS	
977K, 117K/117K, 821K

with default SCSI_MQ, mq-deadline scheduler, CONFIG PREEMPT off
read, rw, write IOPS	
733K, 128K/128K, 676K

All cases do not have LLDD mq exposed/enabled. So unfortunately not much 
difference with your branch.

cheers,
John
Forget to mention, you need to either pull the above branch directly
or apply the two patches against for-next branch of Jens' block
tree:

	git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git #for-next
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help