From: "Rangankar, Manish" <Manish.Rangankar@cavium.com>
To: "Martin K. Petersen" <martin.petersen@oracle.com>,
"lduncan@suse.com" <lduncan@suse.com>,
Chris Leech <cleech@redhat.com>, Hannes Reinecke <hare@suse.de>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
Dept-Eng QLogic Storage Upstream
<QLogic-Storage-Upstream@cavium.com>,
"Mintz, Yuval" <Yuval.Mintz@cavium.com>
Subject: Re: [PATCH v2 3/6] qedi: Add QLogic FastLinQ offload iSCSI driver framework.
Date: Tue, 15 Nov 2016 06:14:18 +0000 [thread overview]
Message-ID: <D450A21F.3537A%manish.rangankar@cavium.com> (raw)
In-Reply-To: <d5abc303-1514-c521-390c-adfdd0e204af@suse.de>
Hi Hannes,
Please find the response below,
On 11/11/16 10:13 PM, "Hannes Reinecke" <hare@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.javali@cavium.com>
>> Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
>> Signed-off-by: Chad Dupuis <chad.dupuis@cavium.com>
>> Signed-off-by: Saurav Kashyap <saurav.kashyap@cavium.com>
>> Signed-off-by: Arun Easi <arun.easi@cavium.com>
>> Signed-off-by: Manish Rangankar <manish.rangankar@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
next prev parent reply other threads:[~2016-11-15 7:48 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-08 6:56 [PATCH v2 0/6] Add QLogic FastLinQ iSCSI (qedi) driver Manish Rangankar
2016-11-08 6:56 ` Manish Rangankar
2016-11-08 6:56 ` [PATCH v2 1/6] qed: Add support for hardware offloaded iSCSI Manish Rangankar
2016-11-08 6:56 ` Manish Rangankar
2016-11-11 15:57 ` Hannes Reinecke
2016-11-11 18:12 ` Arun Easi
2016-11-11 18:12 ` Arun Easi
2016-11-08 6:56 ` [PATCH v2 2/6] qed: Add iSCSI out of order packet handling Manish Rangankar
2016-11-08 6:56 ` Manish Rangankar
2016-11-11 15:59 ` Hannes Reinecke
2016-11-08 6:57 ` [PATCH v2 3/6] qedi: Add QLogic FastLinQ offload iSCSI driver framework Manish Rangankar
2016-11-08 6:57 ` Manish Rangankar
2016-11-08 10:52 ` kbuild test robot
2016-11-08 20:04 ` Arun Easi
2016-11-08 20:04 ` Arun Easi
2016-11-08 23:49 ` Martin K. Petersen
2016-11-08 23:49 ` Martin K. Petersen
2016-11-09 0:00 ` Arun Easi
2016-11-09 0:00 ` Arun Easi
2016-11-09 0:07 ` Martin K. Petersen
2016-11-09 0:07 ` Martin K. Petersen
2016-11-08 11:13 ` kbuild test robot
2016-11-11 16:43 ` Hannes Reinecke
2016-11-15 6:14 ` Rangankar, Manish [this message]
2016-11-15 7:21 ` Hannes Reinecke
2017-01-01 12:28 ` Or Gerlitz
2016-11-08 6:57 ` [PATCH v2 4/6] qedi: Add LL2 iSCSI interface for offload iSCSI Manish Rangankar
2016-11-08 6:57 ` Manish Rangankar
2016-11-11 16:44 ` Hannes Reinecke
2016-11-08 6:57 ` [PATCH v2 5/6] qedi: Add support for iSCSI session management Manish Rangankar
2016-11-08 6:57 ` Manish Rangankar
2016-11-11 16:47 ` Hannes Reinecke
2016-11-08 6:57 ` [PATCH v2 6/6] qedi: Add support for data path Manish Rangankar
2016-11-08 6:57 ` Manish Rangankar
2016-11-08 11:09 ` kbuild test robot
2016-11-11 16:49 ` Hannes Reinecke
2016-11-29 17:21 ` [PATCH v2 0/6] Add QLogic FastLinQ iSCSI (qedi) driver Martin K. Petersen
2016-11-29 17:21 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D450A21F.3537A%manish.rangankar@cavium.com \
--to=manish.rangankar@cavium.com \
--cc=QLogic-Storage-Upstream@cavium.com \
--cc=Yuval.Mintz@cavium.com \
--cc=cleech@redhat.com \
--cc=hare@suse.de \
--cc=lduncan@suse.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.