On Mon, 30 Jan 2017, 10:34am -0000, Hannes Reinecke wrote: > On 01/25/2017 09:33 PM, Dupuis, Chad wrote: > > +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 > -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html