All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roland Dreier <rdreier@cisco.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: David Miller <davem@davemloft.net>,
	jeff@garzik.org, linux-kernel@vger.kernel.org, tiwai@suse.de
Subject: Re: [PATCH] ALSA: hda-intel - Disable MSI support by default
Date: Tue, 14 Nov 2006 20:14:19 -0800	[thread overview]
Message-ID: <adalkmdz6qs.fsf@cisco.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0611141935390.3349@woody.osdl.org> (Linus Torvalds's message of "Tue, 14 Nov 2006 19:54:38 -0800 (PST)")

 > Now, I think that a MSI thing should look like a PCI write to a magic 
 > address (I'm really not very up on it, so correct me if I'm wrong), and 
 > thus maybe bridges are bound to get it right, and the only thing we really 
 > need to worry about is the host bridge. Maybe.

Yes, an MSI message really is just a PCI write cycle (which is why it
obeys all the PCI ordering as DaveM pointed out, and also can travel
on different PCIe VCs, etc).  So it's hard to see how a bridge could
mess it up without screwing up lots of other stuff.  The big thing is
the host bridge that has to turn the PCI write into an interrupt, and
that's where all the chipset problems that I know of are.

But on the other hand I don't think we have much experience with
MSI-capable devices below multiple levels of bridges, so you're right,
there is an unknown risk here.

 > But right now I'm not convinced we really know what all goes wrong. Maybe 
 > it's just broken NVidia and AMD bridges. But maybe it's also individual 
 > devices that continue to (for example) raise _both_ the legacy IRQ line 
 > _and_ send an MSI request.

Well, since we now require drivers to "opt in" to MSI, I'm not
convinced that broken devices are a huge issue.  We can take things
case-by-case and, obviously, if some random subset of devices are
broken, then clearly the driver should be really careful about
enabling MSI.  But usually there's something like a device ID,
revision, FW version, etc. that we can test.

 > together with certain Intel MSI-capable chips (ie e1000, Intel HDA etc). 

Just for the record -- many e1000 chips that have an MSI capability in
their PCI config actually do not have working MSI.  Hence the

	if (adapter->hw.mac_type > e1000_82547_rev_2) {
		adapter->have_msi = TRUE;

in the e1000 driver I guess.

BTW, at the end of the day I agree with the "MSI off by default"
policy, especially for the sound driver where the only realy gain is
saving IRQ routing hassles as you said.  Even for the mthca InfiniBand
driver, where MSI-X with multiple vectors is a huge performance win, I
still have the user explicitly enable it.

 - R.

  parent reply	other threads:[~2006-11-15  4:14 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200611150059.kAF0xBTl009796@hera.kernel.org>
2006-11-15  1:34 ` [PATCH] ALSA: hda-intel - Disable MSI support by default Jeff Garzik
2006-11-15  1:55   ` Linus Torvalds
2006-11-15  2:40     ` Jeff Garzik
2006-11-15  2:49       ` Linus Torvalds
2006-11-15  3:00         ` David Miller
2006-11-15  3:10           ` Linus Torvalds
2006-11-15  3:21             ` David Miller
2006-11-15  3:54               ` Linus Torvalds
2006-11-15  4:11                 ` Jeff Garzik
2006-11-15  4:15                   ` David Miller
2006-11-15  4:24                     ` Jeff Garzik
2006-11-15  4:28                       ` David Miller
2006-11-16  2:25                         ` Benjamin Herrenschmidt
2006-11-16  2:28                           ` Benjamin Herrenschmidt
2006-11-16  3:25                           ` Jeff Garzik
2006-11-16  4:12                             ` Benjamin Herrenschmidt
2006-11-16  6:13                               ` Jeff Garzik
2006-11-16 14:41                                 ` Krzysztof Halasa
2006-11-16 15:27                                   ` Jeff Garzik
2006-11-16 17:24                                     ` Roland Dreier
2006-11-15 19:09                       ` Stephen Hemminger
2006-11-15 19:23                         ` Jeff Garzik
2006-11-15 19:49                           ` Stephen Hemminger
2006-11-15 22:31                             ` Roland Dreier
2006-11-16  2:24                     ` Benjamin Herrenschmidt
2006-11-15  4:30                   ` Roland Dreier
2006-11-15  4:56                     ` Jeff Garzik
2006-11-15 15:53                     ` Linus Torvalds
2006-11-15 18:30                       ` Jeff Garzik
2006-11-15 18:45                       ` Roland Dreier
2006-11-16  2:29                     ` Benjamin Herrenschmidt
2006-11-15 13:34                   ` Krzysztof Halasa
2006-11-15 18:42                     ` Jeff Garzik
2006-11-15 19:04                       ` Linus Torvalds
2006-11-15 19:20                         ` Jeff Garzik
2006-11-15 19:35                           ` Linus Torvalds
2006-11-15 19:59                             ` Mws
2006-11-15 20:14                               ` Linus Torvalds
2006-11-15 20:53                                 ` Olivier Nicolas
2006-11-16  6:08                                   ` Yinghai Lu
2006-11-16 23:25                                     ` Olivier Nicolas
2006-11-15 21:10                                 ` Mws
2006-11-16 11:10                                   ` Mws
2006-11-15  4:14                 ` Roland Dreier [this message]
2006-11-15  4:49                 ` Andi Kleen
2006-11-15  4:57                   ` Roland Dreier
2006-11-15  5:11                     ` Andi Kleen
2006-11-15 22:43                       ` Roland Dreier
2006-11-15 18:35                   ` [PATCH] ACPI: use MSI_NOT_SUPPORTED bit Randy Dunlap
2006-11-15 18:44                     ` Andi Kleen
2006-11-15 19:41                       ` [PATCH v2] " Randy Dunlap
2006-11-15 19:58                         ` [PATCH v3] " Randy Dunlap
2006-11-15 20:19                     ` [PATCH] " Len Brown
2006-11-16  2:22                 ` [PATCH] ALSA: hda-intel - Disable MSI support by default Benjamin Herrenschmidt
2006-11-15 10:31               ` Takashi Iwai
2006-11-15 16:19                 ` Linus Torvalds
2006-11-15 16:24                   ` Arjan van de Ven
2006-11-15 16:36                     ` Linus Torvalds
2006-11-15 18:40                       ` Jeff Garzik
2006-11-15 18:51                         ` Linus Torvalds
2006-11-15 19:01                           ` Arjan van de Ven
2006-11-15 19:34                       ` Stephen Clark
2006-11-15 19:48                         ` Jeff Garzik
2006-11-15 20:01                           ` Stephen Clark
2006-11-15 18:32                 ` Jeff Garzik
2006-11-15 18:32                   ` Jeff Garzik
2006-11-15 18:58                   ` Takashi Iwai
2006-11-15 19:15                     ` Jeff Garzik
2006-11-16 10:44                       ` Takashi Iwai
2006-11-16 23:01                         ` Olivier Nicolas
2006-11-17 10:55                           ` Takashi Iwai
2006-11-17 16:17                             ` Yinghai Lu
2006-11-17 16:35                               ` Linus Torvalds
2006-11-15 19:20                 ` Stephen Hemminger
2006-11-15 22:35                   ` Roland Dreier
2006-11-15  4:01           ` Benjamin Herrenschmidt
2006-11-15  4:07             ` David Miller
2006-11-15  7:23               ` Benjamin Herrenschmidt
2006-11-15 10:06                 ` Segher Boessenkool
2006-11-15  4:23             ` Roland Dreier
2006-11-15  7:24               ` Benjamin Herrenschmidt
2006-11-15  4:04         ` Benjamin Herrenschmidt
2006-11-15  4:14           ` Jeff Garzik
2006-11-15  4:24           ` Roland Dreier
2006-11-15  2:58       ` Randy Dunlap
2006-11-15  3:10       ` D. Hazelton
2006-11-15  3:30         ` Jeff Garzik
2006-11-15  3:53           ` D. Hazelton
2006-11-15 11:40             ` Alan
2006-11-16  4:06               ` D. Hazelton
2006-11-16  0:17 Lu, Yinghai
  -- strict thread matches above, loose matches on Subject: below --
2006-11-16  3:50 Lu, Yinghai
2006-11-16 23:36 ` Olivier Nicolas
2006-11-16  4:24 linux
2006-11-16 10:53 ` Alan
2006-11-16 16:05 ` Linus Torvalds
2006-11-16  4:25 Lu, Yinghai
2006-11-16 18:00 ` D. Hazelton
2006-11-16 23:54 Lu, Yinghai
2006-11-17  0:49 ` Olivier Nicolas
2006-11-17 17:42 Lu, Yinghai

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=adalkmdz6qs.fsf@cisco.com \
    --to=rdreier@cisco.com \
    --cc=davem@davemloft.net \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tiwai@suse.de \
    --cc=torvalds@osdl.org \
    /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.