Hi Hannes,

Please find the response below,

On 11/11/16 10:13 PM, "Hannes Reinecke" <h...@suse.de> wrote:

>On 11/08/2016 07:57 AM, Manish Rangankar wrote:
>> The QLogic FastLinQ Driver for iSCSI (qedi) is the iSCSI specific module
>> for 41000 Series Converged Network Adapters by QLogic.
>>
>> This patch consists of following changes:
>>   - MAINTAINERS Makefile and Kconfig changes for qedi,
>>   - PCI driver registration,
>>   - iSCSI host level initialization,
>>   - Debugfs and log level infrastructure.
>>
>> Signed-off-by: Nilesh Javali <nilesh.jav...@cavium.com>
>> Signed-off-by: Adheer Chandravanshi <adheer.chandravan...@qlogic.com>
>> Signed-off-by: Chad Dupuis <chad.dup...@cavium.com>
>> Signed-off-by: Saurav Kashyap <saurav.kash...@cavium.com>
>> Signed-off-by: Arun Easi <arun.e...@cavium.com>
>> Signed-off-by: Manish Rangankar <manish.rangan...@cavium.com>
>> ---
>>  MAINTAINERS                         |    6 +
>>  drivers/net/ethernet/qlogic/Kconfig |   12 -
>>  drivers/scsi/Kconfig                |    1 +
>>  drivers/scsi/Makefile               |    1 +
>>  drivers/scsi/qedi/Kconfig           |   10 +
>>  drivers/scsi/qedi/Makefile          |    5 +
>>  drivers/scsi/qedi/qedi.h            |  291 +++++++
>>  drivers/scsi/qedi/qedi_dbg.c        |  143 ++++
>>  drivers/scsi/qedi/qedi_dbg.h        |  144 ++++
>>  drivers/scsi/qedi/qedi_debugfs.c    |  244 ++++++
>>  drivers/scsi/qedi/qedi_hsi.h        |   52 ++
>>  drivers/scsi/qedi/qedi_main.c       | 1616
>>+++++++++++++++++++++++++++++++++++
>>  drivers/scsi/qedi/qedi_sysfs.c      |   52 ++
>>  drivers/scsi/qedi/qedi_version.h    |   14 +
>>  14 files changed, 2579 insertions(+), 12 deletions(-)
>>  create mode 100644 drivers/scsi/qedi/Kconfig
>>  create mode 100644 drivers/scsi/qedi/Makefile
>>  create mode 100644 drivers/scsi/qedi/qedi.h
>>  create mode 100644 drivers/scsi/qedi/qedi_dbg.c
>>  create mode 100644 drivers/scsi/qedi/qedi_dbg.h
>>  create mode 100644 drivers/scsi/qedi/qedi_debugfs.c
>>  create mode 100644 drivers/scsi/qedi/qedi_hsi.h
>>  create mode 100644 drivers/scsi/qedi/qedi_main.c
>>  create mode 100644 drivers/scsi/qedi/qedi_sysfs.c
>>  create mode 100644 drivers/scsi/qedi/qedi_version.h
>>
[...]
>>
>> +static enum qed_int_mode qedi_int_mode_to_enum(void)
>> +{
>> +    switch (int_mode) {
>> +    case 0: return QED_INT_MODE_MSIX;
>> +    case 1: return QED_INT_MODE_INTA;
>> +    case 2: return QED_INT_MODE_MSI;
>> +    default:
>> +            QEDI_ERR(NULL, "Unknown qede_int_mode=%08x; "
>> +                     "Defaulting to MSI-x\n", int_mode);
>> +            return QED_INT_MODE_MSIX;
>> +    }
>> +}
>Errm. A per-driver interrupt mode?
>How very curious.
>You surely want to make that per-HBA, right?

This was added for testing purpose, we will remove this code.
 

[...]
>> +static int qedi_request_msix_irq(struct qedi_ctx *qedi)
>> +{
>> +    int i, rc, cpu;
>> +
>> +    cpu = cpumask_first(cpu_online_mask);
>> +    for (i = 0; i < MIN_NUM_CPUS_MSIX(qedi); i++) {
>> +            rc = request_irq(qedi->int_info.msix[i].vector,
>> +                             qedi_msix_handler, 0, "qedi",
>> +                             &qedi->fp_array[i]);
>> +
>> +            if (rc) {
>> +                    QEDI_WARN(&qedi->dbg_ctx, "request_irq failed.\n");
>> +                    qedi_sync_free_irqs(qedi);
>> +                    return rc;
>> +            }
>> +            qedi->int_info.used_cnt++;
>> +            rc = irq_set_affinity_hint(qedi->int_info.msix[i].vector,
>> +                                       get_cpu_mask(cpu));
>> +            cpu = cpumask_next(cpu, cpu_online_mask);
>> +    }
>> +
>> +    return 0;
>> +}
>Please use the irq-affinity rework from Christoph here; that'll save you
>the additional msix vectors allocation.

The existing qed* driver(s) and common module (qed) framework is built on
top of the older pci_enable_msix_*() API. The new framework requires
re-work on the existing qed common module API. That would need
co-ordination among other dependent drivers (e.g.: qede network driver,
which is already in the tree). We would prefer to add this as a follow on
(to the initial submission) effort, with additional testing done and
submission co-ordinated across protocol drivers.



Thanks,
Manish

Reply via email to