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