Thread (28 messages) flat view 28 messages, 5 authors, 2016-10-23

Re: [RFC 3/6] qedi: Add QLogic FastLinQ offload iSCSI driver framework.

From: Rangankar, Manish <hidden>
Date: 2016-10-23 14:04:58
Also in: linux-scsi

On 19/10/16 3:32 PM, "Johannes Thumshirn" [off-list ref] wrote:
On Wed, Oct 19, 2016 at 01:01:10AM -0400, manish.rangankar@cavium.com
wrote:
quoted
From: Manish Rangankar <redacted>

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 <redacted>
Signed-off-by: Adheer Chandravanshi <redacted>
Signed-off-by: Chad Dupuis <redacted>
Signed-off-by: Saurav Kashyap <redacted>
Signed-off-by: Arun Easi <redacted>
Signed-off-by: Manish Rangankar <redacted>
---
[...]
quoted
+/* MSI-X fastpath handler code */
+static irqreturn_t qedi_msix_handler(int irq, void *dev_id)
+{
+	struct qedi_fastpath *fp = dev_id;
+	struct qedi_ctx *qedi = fp->qedi;
+	bool wake_io_thread = true;
+
+	qed_sb_ack(fp->sb_info, IGU_INT_DISABLE, 0);
+
+process_again:
+	wake_io_thread = qedi_process_completions(fp);
+	if (wake_io_thread) {
+		QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_DISC,
+			  "process already running\n");
+	}
+
+	if (qedi_fp_has_work(fp) == 0)
+		qed_sb_update_sb_idx(fp->sb_info);
+
+	/* Check for more work */
+	rmb();
+
+	if (qedi_fp_has_work(fp) == 0)
+		qed_sb_ack(fp->sb_info, IGU_INT_ENABLE, 1);
+	else
+		goto process_again;
+
+	return IRQ_HANDLED;
+}
You might want to consider workqueues here.
If there is no serious objection with current per-cpu threads
implementation
then we will like to do workqueue changes just after first submission.
This is because, 
for this change we have go through complete validation cycle on our part.


Thanks,
Manish R.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help