Thread (2 messages) flat view 2 messages, 2 authors, 2017-01-31

Re: [PATCH V2 2/2] qedf: Add QLogic FastLinQ offload FCoE driver framework.

From: Chad Dupuis <hidden>
Date: 2017-01-31 18:39:10
Also in: linux-scsi


On Mon, 30 Jan 2017, 10:34am -0000, Hannes Reinecke wrote:
On 01/25/2017 09:33 PM, Dupuis, Chad wrote:
quoted
+static int qedf_request_msix_irq(struct qedf_ctx *qedf)
+{
+	int i, rc, cpu;
+
+	cpu = cpumask_first(cpu_online_mask);
+	for (i = 0; i < qedf->num_queues; i++) {
+		rc = request_irq(qedf->int_info.msix[i].vector,
+		    qedf_msix_handler, 0, "qedf", &qedf->fp_array[i]);
+
+		if (rc) {
+			QEDF_WARN(&(qedf->dbg_ctx), "request_irq failed.\n");
+			qedf_sync_free_irqs(qedf);
+			return rc;
+		}
+
+		qedf->int_info.used_cnt++;
+		rc = irq_set_affinity_hint(qedf->int_info.msix[i].vector,
+		    get_cpu_mask(cpu));
+		cpu = cpumask_next(cpu, cpu_online_mask);
+	}
+
+	return 0;
+}
+
Please use pci_alloc_irq_vectors() here; that avoid you having to do SMP
affinity setting yourself.
This wil be difficult to coordinate with three other drivers (qedi, qede 
and qedr) using the same vector allocation code in the qed module.
Cheers,

Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help