Matthew Wilcox wrote:
On Fri, Jul 27, 2007 at 10:57:16AM -0400, Jeff Garzik wrote:
Matthew Wilcox wrote:
On Fri, Jul 27, 2007 at 10:49:17AM -0400, Jeff Garzik wrote:
I thought you had multiple scsi hosts per board? Thus multiple scsi
hosts per interrupt?
Right. We'll request the interrupt twice, each time with a different
scsi_host.
ewwwwww. That's, um, broken :)
I presume request_irq() will fail on non-ISA for subsequent calls, and
your interrupt handler gets called -twice- for every single interrupt.
I don't have any of these boards, so I may be labouring under a false
apprehension here. It seems that PCI cards with multiple hosts are
actually one host per function (ie just like sym2, and dissimilar to
aic7xyz). With EISA, we set IRQF_SHARED, so we can request the same
interrupt twice, each time with a different Scsi_Host. I think the VLB
card is probably stuffed -- need to set IRQF_SHARED for that case.
We need an ancient-hardware expert here. To say the least, this is
abuse of request_irq() and highly irregular. I wound not count on this
highly unusual behavior working at all.
At the very least, it violates the Principle of Least Surprise and IMO
should not be done this way at all.
Yuck, yuck, yuck. It's a high-overhead, highly fragile hack that no one
else would ever do.
Note I never said 'NAK' with any patches, but I have to NAK this change.
Jeff
-
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