Re: [PATCH 1/9] blk-mq: allow hw queues to share hostwide tags

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

 



On 5/31/19 4:27 AM, Ming Lei wrote:
> Some SCSI HBAs(such as HPSA, megaraid, mpt3sas, hisi_sas_v3 ..) support
> multiple reply queues with single hostwide tags, and the reply queue
> is used for delievery & complete request, and one MSI-X vector is
> assigned to each reply queue.
> 
> Now drivers have switched to use pci_alloc_irq_vectors(PCI_IRQ_AFFINITY)
> for automatic affinity assignment. Given there is only single blk-mq hw
> queue, these drivers have to setup private reply queue mapping for
> figuring out which reply queue is selected for delivery request, and
> the queue mapping is based on managed IRQ affinity, and it is generic,
> should have been done inside blk-mq.
> 
> Based on the following Hannes's patch, introduce BLK_MQ_F_HOST_TAGS for
> converting reply queue into blk-mq hw queue.
> 
> 	https://marc.info/?l=linux-block&m=149132580511346&w=2
> 
> Once driver sets BLK_MQ_F_HOST_TAGS, the hostwide tags & request pool is
> shared among all blk-mq hw queues.
> 
> The following patches will map driver's reply queue into blk-mq hw queue
> by applying BLK_MQ_F_HOST_TAGS.
> 
> Compared with the current implementation by single hw queue, performance
> shouldn't be affected by this patch in theory.
> 
> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx>
> ---
>  block/blk-mq-debugfs.c |  1 +
>  block/blk-mq-sched.c   |  8 ++++++++
>  block/blk-mq-tag.c     |  6 ++++++
>  block/blk-mq.c         | 14 ++++++++++++++
>  block/elevator.c       |  5 +++--
>  include/linux/blk-mq.h |  1 +
>  6 files changed, 33 insertions(+), 2 deletions(-)
> 
Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@xxxxxxx			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)



[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