Re: [PATCH V2 0/8] blk-mq/scsi-mq: support global tags & introduce force_blk_mq

Jens Axboe
2018-02-06T23:15:50Z

On 2/5/18 8:20 AM, Ming Lei wrote:
> Hi All,
>
> This patchset supports global tags which was started by Hannes originally:
>
> https://marc.info/?l=linux-block&m=149132580511346&w=2
>
> Also inroduce 'force_blk_mq' and 'host_tagset' to 'struct scsi_host_template',
> so that driver can avoid to support two IO paths(legacy and blk-mq), especially
> recent discusion mentioned that SCSI_MQ will be enabled at default soon.
>
> https://marc.info/?l=linux-scsi&m=151727684915589&w=2
>
> With the above changes, it should be easier to convert SCSI drivers'
> reply queue into blk-mq's hctx, then the automatic irq affinity issue can
> be solved easily, please see detailed descrption in commit log and the
> 8th patch for converting HPSA.
>
> Also drivers may require to complete request on the submission CPU
> for avoiding hard/soft deadlock, which can be done easily with blk_mq
> too.
>
> https://marc.info/?t=151601851400001&r=1&w=2
>
> The 6th patch uses the introduced 'force_blk_mq' to fix virtio_scsi
> so that IO hang issue can be avoided inside legacy IO path, this issue is
> a bit generic, at least HPSA/virtio-scsi are found broken with v4.15+.
>
> The 7th & 8th patch fixes HPSA's IO issue which is caused by the reply
> queue selection algorithem.
>
> Laurence has verified that this patch makes HPSA working with the linus
> tree with this patchset.

Do you have any performance numbers for this patchset? I'd be curious
to know how big the hit is.

--
Jens Axboe