I was curious whether its best to use MSI-X when the driver supports it or
not?
Example, 3ware cards/Intel Audio Drivers you can use MSI-X instead of
having several devices use/share an interrupt.
What are the pros/cons to using MSI-X vs. having devices share an IRQ?
Justin.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Normally using MSI/MSI-X is always better (or at least no worse),
assuming it works properly on the system and on the device.. Hopefully
by this point we've fixed most or all the system-related problems or
forced MSI off on platforms where it can't work properly.
> Example, 3ware cards/Intel Audio Drivers you can use MSI-X instead of
> having several devices use/share an interrupt.
>
> What are the pros/cons to using MSI-X vs. having devices share an IRQ?
Cons: Sometimes, you'll find a device that claims to support MSI but in fact is
to some extent borked...
I'm the proud owner of a Dell Latitude D820, which includes this PCI:
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
Subsystem: Dell Device 01cc
Flags: bus master, fast devsel, latency 0, IRQ 30
Memory at efffc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 2
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [100] Virtual Channel <?>
Capabilities: [130] Root Complex Link <?>
Kernel driver in use: HDA Intel
However, actually trying to enable MSI gets me this at some pseudo-random
time after booting (one for each of 7 boots):
[ 4.519264] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[ 22.788015] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x008f0c00
[ 4.719263] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[ 12.497263] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[ 815.350265] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[ 595.171267] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00171700
[ 4.968263] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
(Am slightly mystified about the resets at 4 and 12 seconds - at that point,
we're not up far enough to actually try to use the audio. I suspect udev trying
to initialize the card - except sometimes it works and runs just fine with
MSI for quite some time:
[14267.701267] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[12841.892050] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0900
[10647.783274] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x001f1500
[15091.102034] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00171700
[20085.955293] ALSA sound/pci/hda/hda_intel.c:683: No response from codec, disabling MSI: last cmd=0x00df0700
This may not be an actual MSI problem (in fact I'd say it's probably
not). Currently hda_intel disables MSI after any codec response timeout,
so it could be it would have worked if it retried while still using MSI.
I believe Takashi was going to change the driver to be less sensitive
about this.