On Thu, Feb 13, 2020 at 3:37 PM John Garry <john.garry@xxxxxxxxxx> wrote: > > On 17/01/2020 11:18, Sumit Saxena wrote: > >>>> or doing a performance test here. > >>> Hi Hannes, > >>> > > Hi Sumit, > > >>> Sorry for the delay in replying, I observed a few issues with this patchset: > >>> > >>> 1. "blk_mq_unique_tag_to_hwq(tag)" does not return MSI-x vector to > >>> which IO submitter CPU is affined with. Due to this IO submission and > >>> completion CPUs are different which causes performance drop for low > >>> latency workloads. > >> Hi Sumit, > >> > >> So the new code has: > >> > >> megasas_build_ldio_fusion() > >> { > >> > >> cmd->request_desc->SCSIIO.MSIxIndex = > >> blk_mq_unique_tag_to_hwq(tag); > >> > >> } > >> > >> So the value here is hw queue index from blk-mq point of view, and not > >> megaraid_sas msix index, as you alluded to. > > Yes John, value filled in "cmd->request_desc->SCSIIO.MSIxIndex" is HW > > queue index. > > > >> So we get 80 msix, 8 are reserved for low_latency_index_start (that's > >> how it seems to me), and we report other 72 as #hw queues = 72 to SCSI > >> midlayer. > >> > >> So I think that this should be: > >> > >> cmd->request_desc->SCSIIO.MSIxIndex = > >> blk_mq_unique_tag_to_hwq(tag) + low_latency_index_start; > > Can you possibly test performance again with this local change, or would > you rather an updated patchset be sent? Updated patchset is not required. I will do performance run with this change and update. Thanks, Sumit > > > Agreed, this should return correct HW queue index. > >> > > > Thanks, > John