All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Ellerman <michael@ellerman.id.au>
To: David Miller <davem@davemloft.net>
Cc: bhutchings@solarflare.com, somnath.kotur@emulex.com,
	netdev@vger.kernel.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH net-next-2.6 1/2] be2net: Adding an option to use INTx instead of MSI-X
Date: Tue, 26 Oct 2010 17:52:08 +1100	[thread overview]
Message-ID: <1288075928.6578.185.camel@concordia> (raw)
In-Reply-To: <20101025.162535.226782713.davem@davemloft.net>

[-- Attachment #1: Type: text/plain, Size: 5022 bytes --]

On Mon, 2010-10-25 at 16:25 -0700, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Mon, 25 Oct 2010 23:38:53 +0100
> 
> > David Miller wrote:
> >> From: Somnath Kotur <somnath.kotur@emulex.com>
> >> Date: Mon, 25 Oct 2010 16:42:35 +0530
> >> 
> >> > By default, be2net uses MSIx wherever possible.
> >> > Adding a module parameter to use INTx for users who do not want to use MSIx.
> >> > 
> >> > Signed-off-by: Somnath Kotur <somnath.kotur@emulex.com>
> >> 
> >> Either add a new ethtool flag, or use the PCI subsystem facilities
> >> for tweaking things to implement this.
> >>
> >> Do not use a module option, otherwise every other networking driver
> >> author will get the same "cool" idea, give the module option
> >> different names, and the resulting user experience is terrible.
> > 
> > This has already happened, sadly.  So far as I can see it's mostly done
> > to allow users to work around systems with broken MSIs; I'm not aware of
> > any other reason to prefer legacy interrupts.  However, the PCI subsystem
> > already implements a blacklist and a kernel parameter for disabling MSIs
> > on these systems.
> 
> The PCI subsystem bits I'm totally fine with.
> 
> But in the drivers themselves, that's what I don't want.

That horse has really really bolted, it's gawn.

I count 26 drivers with "disable MSI/X" parameters. Some even have more
than one.

11 of them are network drivers, 9 scsi, 3 ata.

I agree it's a mess for users, but it's probably preferable to a
non-working driver.

Ethtool would be nice, but only for network drivers. Is there a generic
solution, quirks are obviously not keeping people happy.

cheers



MSI:

Param "msi", 10 users:
  drivers/ata/sata_mv.c:MODULE_PARM_DESC(msi, "Enable use of PCI MSI (0=off, 1=on)");
  drivers/ata/sata_nv.c:MODULE_PARM_DESC(msi, "Enable use of MSI (Default: false)");
  drivers/ata/sata_sil24.c:MODULE_PARM_DESC(msi, "Enable MSI (Default: false)");
  drivers/net/cxgb3/cxgb3_main.c:MODULE_PARM_DESC(msi, "whether to use MSI or MSI-X");
  drivers/net/cxgb4/cxgb4_main.c:MODULE_PARM_DESC(msi, "whether to use INTx (0), MSI (1) or MSI-X (2)");
  drivers/net/cxgb4vf/cxgb4vf_main.c:MODULE_PARM_DESC(msi, "whether to use MSI-X or MSI");
  drivers/net/forcedeth.c:MODULE_PARM_DESC(msi, "MSI interrupts are enabled by setting to 1 and disabled by setting to 0.");
  drivers/net/qla3xxx.c:MODULE_PARM_DESC(msi, "Turn on Message Signaled Interrupts.");
  drivers/scsi/aacraid/aachba.c:MODULE_PARM_DESC(msi, "IRQ handling."
  drivers/scsi/stex.c:MODULE_PARM_DESC(msi, "Enable Message Signaled Interrupts(0=off, 1=on)");

Param "use_msi", 4 users:
  drivers/net/qlcnic/qlcnic_main.c:MODULE_PARM_DESC(use_msi, "MSI interrupt (0=disabled, 1=enabled");
  drivers/scsi/3w-9xxx.c:MODULE_PARM_DESC(use_msi, "Use Message Signaled Interrupts.  Default: 0");
  drivers/scsi/3w-sas.c:MODULE_PARM_DESC(use_msi, "Use Message Signaled Interrupts. Default: 0");
  drivers/scsi/aic94xx/aic94xx_init.c:MODULE_PARM_DESC(use_msi, "\n"

Param "disable_msi", 4 users:
  drivers/scsi/vmw_pvscsi.c:MODULE_PARM_DESC(disable_msi, "Disable MSI use in driver - (default=0)");
  drivers/net/bnx2.c:MODULE_PARM_DESC(disable_msi, "Disable Message Signaled Interrupt (MSI)");
  drivers/net/chelsio/cxgb2.c:MODULE_PARM_DESC(disable_msi, "Disable Message Signaled Interrupt (MSI)");
  drivers/net/sky2.c:MODULE_PARM_DESC(disable_msi, "Disable Message Signaled Interrupt (MSI)");

Misc:
  sound/pci/hda/hda_intel.c:MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)");
  drivers/message/fusion/mptbase.c:MODULE_PARM_DESC(mpt_msi_enable_spi, " Enable MSI Support for SPI \
  drivers/message/fusion/mptbase.c:MODULE_PARM_DESC(mpt_msi_enable_fc, " Enable MSI Support for FC \
  drivers/message/fusion/mptbase.c:MODULE_PARM_DESC(mpt_msi_enable_sas, " Enable MSI Support for SAS \
  drivers/net/myri10ge/myri10ge.c:MODULE_PARM_DESC(myri10ge_msi, "Enable Message Signalled Interrupts");


MSI-X:

Param "msi_x", 2 users:
  drivers/infiniband/hw/mthca/mthca_main.c:MODULE_PARM_DESC(msi_x, "attempt to use MSI-X if nonzero");
  drivers/net/mlx4/main.c:MODULE_PARM_DESC(msi_x, "attempt to use MSI-X if nonzero");

Misc:
  drivers/net/forcedeth.c:MODULE_PARM_DESC(msix, "MSIX interrupts are enabled by setting to 1 and disabled by setting to 0.");
  drivers/net/qlcnic/qlcnic_main.c:MODULE_PARM_DESC(use_msi_x, "MSI-X interrupt (0=disabled, 1=enabled");
  drivers/scsi/bfa/bfad_intr.c:MODULE_PARM_DESC(msix_disable_cb, "Disable MSIX for Brocade-415/425/815/825"
  drivers/scsi/bfa/bfad_intr.c:MODULE_PARM_DESC(msix_disable_ct, "Disable MSIX for Brocade-1010/1020/804"
  drivers/scsi/mpt2sas/mpt2sas_base.c:MODULE_PARM_DESC(msix_disable, " disable msix routed interrupts (default=0)");
  drivers/scsi/qla4xxx/ql4_os.c:MODULE_PARM_DESC(ql4xenablemsix,
  drivers/scsi/vmw_pvscsi.c:MODULE_PARM_DESC(disable_msix, "Disable MSI-X use in driver - (default=0)");


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  parent reply	other threads:[~2010-10-26  6:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-25 11:12 [PATCH net-next-2.6 1/2] be2net: Adding an option to use INTx instead of MSI-X Somnath Kotur
2010-10-25 19:09 ` David Miller
2010-10-25 22:38   ` Ben Hutchings
2010-10-25 23:25     ` David Miller
2010-10-26  5:24       ` Somnath.Kotur
2010-10-26  6:52       ` Michael Ellerman [this message]
2010-10-26 13:32         ` Ben Hutchings
2010-10-26 23:20           ` Michael Ellerman
2010-10-27 15:46             ` David Miller
2010-10-28  5:37               ` Grant Grundler
2010-10-27 15:45         ` David Miller
2010-10-30 23:21         ` Matthew Wilcox
2010-11-03 12:45           ` Michael Ellerman
2010-11-03 15:28             ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1288075928.6578.185.camel@concordia \
    --to=michael@ellerman.id.au \
    --cc=bhutchings@solarflare.com \
    --cc=davem@davemloft.net \
    --cc=linux-pci@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=somnath.kotur@emulex.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.