On Jun 9, 2009, at 2:43 PM, Matthew Wilcox wrote:
On Tue, Jun 09, 2009 at 02:40:44PM -0700, Anirban Chakraborty wrote:
On Tue, 9 Jun 2009, James Bottomley wrote:
It depends what the root cause is ... if it's really latency
introduced
by other interrupts, then IRQF_DISABLED might be the better
course. If
it's purely interrupt problems in the spin locked critical sections,
then spin_lock_irq might be the better solution ... what would be
useful
is to have the test rig at intel which turned up the problem see
what
happens to the results for each case.
I have attached the patch with IRQF_DISABLED. In my setup, I didn't
find any
significant difference in performance numbers between IRQF_DISABLED
and
spin_lock_irqsave. It would be interesting to see the numbers from
Douglas's
rig.
Doug, could you please run it once more with this patch and let us
know the
numbers vs. the one you already tested with spin_lock_irqsave
earlier.
Thanks much,
Anirban
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/
qla_isr.c
index c8d0a17..d07bd97 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -1991,7 +1991,7 @@ skip_msix:
skip_msi:
ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler,
- IRQF_SHARED, QLA2XXX_DRIVER_NAME, rsp);
+ IRQF_DISABLED, QLA2XXX_DRIVER_NAME, rsp);
if (ret) {
qla_printk(KERN_WARNING, ha,
"Failed to reserve interrupt %d already in use.\n",
While I don't think Doug has MSI-X adapters, a complete patch would
change
all request_irq() calls to use IRQF_DISABLED, right?
--
The above patch takes care of replacing all the IRQF_SHARED flags in
irq registrations with IRQF_DISABLED.
Thanks,
Anirban
--
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