Re: [PATCH] blk-mq: set default elevator as deadline in case of hctx shared tagset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewed-by: John Garry <john.garry@xxxxxxxxxx>


On Tue, Apr 06, 2021 at 11:25:08PM +0100, John Garry wrote:
On 06/04/2021 04:19, Ming Lei wrote:

Hi Ming,

Yanhui found that write performance is degraded a lot after applying
hctx shared tagset on one test machine with megaraid_sas. And turns out
it is caused by none scheduler which becomes default elevator caused by
hctx shared tagset patchset.

Given more scsi HBAs will apply hctx shared tagset, and the similar
performance exists for them too.

So keep previous behavior by still using default mq-deadline for queues
which apply hctx shared tagset, just like before.
I think that there a some SCSI HBAs which have nr_hw_queues > 1 and don't
use shared sbitmap - do you think that they want want this as well (without
knowing it)?
I don't know but none has been used for them since the beginning, so not
an regression of shared tagset, but this one is really.

It seems fine to revert to previous behavior when host_tagset is set. I didn't check the results for this recently, but for the original shared tagset patchset [0] I had:

none sched:		2132K IOPS					
mq-deadline sched:	2145K IOPS			

A quick audit of other SCSI HBA drivers in drivers/scsi which set nr_hw_queues and don't set host_tagset gives lpfc, qla2xxx, qedi (nr_hw_queues seems to be getting unset), storvsc_drv (host_tagset might be getting set), virtio_scsi, and then mpi3mr

Thanks,
John


[0] https://lore.kernel.org/linux-scsi/1597850436-116171-1-git-send-email-john.garry@xxxxxxxxxx/




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux