RE: [PATCH v3 10/13] scsi: fnic: Add support for multiqueue (MQ) in fnic_main.c

From: Karan Tilak Kumar (kartilak)
Date: Thu Nov 16 2023 - 16:02:49 EST


On Thursday, November 16, 2023 8:33 AM, John Garry <john.g.garry@xxxxxxxxxx> wrote:
>
> On 15/11/2023 23:20, Karan Tilak Kumar (kartilak) wrote:
> >>> +
> >>> + if (intr_mode == VNIC_DEV_INTR_MODE_MSI || intr_mode == VNIC_DEV_INTR_MODE_INTX) {
> >>> + FNIC_MAIN_DBG(KERN_ERR, fnic->lport->host, fnic->fnic_num,
> >>> + "intr_mode is not msix\n");
> >> Are these checks just paranoia? I mean that it is strange to have
> >> fnic_mq_map_queues_cpus() called but not be required to do anything.
> >>
> > Unified Computing Servers Management (UCSM) is a GUI tool to configure Cisco Servers.
> > There are interrupt options that can be modified to INTX or MSI or MSI-x.
> > All these options are still supported.
> >
> > However, we do not support multiqueue (MQ) on MSI or INTX.
>
> By this I assume it means nr_hw_queues = 1 for MSI or INTX

That's correct, John.

> > These checks are present to only prevent an MQ "misconfiguration".
>
> > If you check blk_mq_update_queue_map(), for set->ops->map_queues unset we call blk_mq_map_queues() - I am just wondering what does the equivalent to blk_mq_map_queues() for you in these other modes.
>
> > I am concerned that it is not proper that we have a set->ops->map_queues method, but it does nothing in some scenarios.
>
> I think we get away with this as mq_map[for all CPUs] is 0, which points to the only HW queue.

Yes, that's correct. This is what I found during testing as well.

Regards,
Karan