On Tue, Jul 14, 2020 at 10:53:32AM +0100, John Garry wrote: > On 14/07/2020 09:06, Ming Lei wrote: > > > v7 is here: > > > > > > https://github.com/hisilicon/kernel-dev/commits/private-topic-blk-mq-shared-tags-rfc-v7 > > > > > > So that should be good to test with for now. > > > > > > And I was going to ask this same question about smartpqi, so can you please > > > let me know about this one? > > Hi Ming, > > > smartpqi is real MQ HBA, do you need any change wrt. shared tags? > > Is it really? Yes, it is. pqi_register_scsi(): shost->nr_hw_queues = ctrl_info->num_queue_groups; pqi_enable_msix_interrupts(): num_vectors_enabled = pci_alloc_irq_vectors(ctrl_info->pci_dev, PQI_MIN_MSIX_VECTORS, ctrl_info->num_queue_groups, PCI_IRQ_MSIX | PCI_IRQ_AFFINITY); > > As I see, today it maintains a single tagset per HBA. So Hannes' change in No, each hw queue has one independent tagset for smartpqi. > this series seems ok. However, I do worry that mainline code may be wrong, > as block layer may send can_queue * nr_hw_queues requests, when it seems the > HBA can only handle can_queue requests. I have one machine in which all system are installed on smartpqi disks, and I almost work on the system everyday, so far so good with this real MQ style. Can you explain a bit why you worry the mainline code may be wrong? Thanks, Ming