RE: [patch 2.6.17] s2io driver irq fix

From: Ravinandan Arakali
Date: Thu Jun 22 2006 - 18:48:58 EST


Andrew,
My understanding is that MSI-X vectors are not usually shared. We don't want
to spend cycles checking if the interrupt was indeed from our card or
another device on same IRQ.
In fact, current driver shares IRQ for the MSI case which I think is a bug.
That should also be non-shared. Our MSI handler just runs thru' the Tx/Rx
completions and returns IRQ_HANDLED. In case of IRQ sharing, we could be
falsely claiming the interrupt as our own.

Ravi

-----Original Message-----
From: netdev-owner@xxxxxxxxxxxxxxx
[mailto:netdev-owner@xxxxxxxxxxxxxxx]On Behalf Of Andrew Morton
Sent: Wednesday, June 21, 2006 9:16 PM
To: Ananda Raju
Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
linux-fsdevel@xxxxxxxxxxxxxxx; dgc@xxxxxxx; balbir@xxxxxxxxxx;
viro@xxxxxxxxxxxxxxxxxx; neilb@xxxxxxx; jblunck@xxxxxxx;
tglx@xxxxxxxxxxxxx; ananda.raju@xxxxxxxxxxxx;
leonid.grossman@xxxxxxxxxxxx; ravinandan.arakali@xxxxxxxxxxxx;
alicia.pena@xxxxxxxxxxxx
Subject: Re: [patch 2.6.17] s2io driver irq fix


On Wed, 21 Jun 2006 15:50:49 -0400 (EDT)
Ananda Raju <Ananda.Raju@xxxxxxxxxxxx> wrote:

> + if (sp->intr_type == MSI_X) {
> + int i;
>
> - free_irq(vector, arg);
> + for (i=1; (sp->s2io_entries[i].in_use == MSIX_FLG); i++) {
> + if (sp->s2io_entries[i].type == MSIX_FIFO_TYPE) {
> + sprintf(sp->desc[i], "%s:MSI-X-%d-TX",
> + dev->name, i);
> + err = request_irq(sp->entries[i].vector,
> + s2io_msix_fifo_handle, 0, sp->desc[i],
> + sp->s2io_entries[i].arg);

Is it usual to prohibit IRQ sharing with msix?

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/