Re: [PATCH] qla2xxx: Resolved a performance issue in interrupt handler

Matthew Wilcox
2009-06-09T21:41:25Z

On Tue, Jun 09, 2009 at 02:28:01PM -0700, Giridhar Malavali wrote:
> On Jun 9, 2009, at 1:40 PM, 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.
>
> Earlier, I have seen that when IRQ's are shared across multiple
> controllers and if the first one to register (among shared controllers)
> does not disable the IRQ with IRQF_DISABLED flag,then irrespective of the
> IRQ registration from other controllers, the IRQ will be enabled by
> default. With this behavior and qla2xxx sharing the IRQ, just disabling
> the IRQ may not be sufficient.

But MSI interrupts are never shared. Also, almost every driver *should*
be using IRQF_DISABLED these days (there was a proposal to eliminate
IRQF_DISABLED and force every driver to explicitly re-enable interrupts
if it needed them on back in March).

--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."