public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Disable INTx when enabling MSI
@ 2006-12-07 22:31 Daniel Barkalow
  2006-12-07 22:39 ` Greg KH
  2006-12-07 22:44 ` Linus Torvalds
  0 siblings, 2 replies; 5+ messages in thread
From: Daniel Barkalow @ 2006-12-07 22:31 UTC (permalink / raw)
  To: gregkh; +Cc: Jeff Garzik, Linus Torvalds, linux-kernel

Some device manufacturers seem to think it's the OS's responsibility to 
disable legacy interrupt delivery when using MSI. If the driver doesn't 
handle it (which they generally don't), and the device isn't PCI-Express, 
a steady stream of legacy interrupts will be delivered in addition to the 
MSI ones, eventually leading to the legacy IRQ getting disabled, which 
kills any device that shares it.

Jeff proposed a patch in http://lkml.org/lkml/2006/11/21/332 when Linus 
wanted to do it in the PCI layer, but nobody seems to have told the actual 
PCI maintainer.

I'm trying to get a patch into -stable to do pci_intx in exactly the same 
situations, but only for forcedeth (which is the device that's causing 
problems for me), but that requires that the real solution be merged in 
the mainline.

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disable INTx when enabling MSI
  2006-12-07 22:31 Disable INTx when enabling MSI Daniel Barkalow
@ 2006-12-07 22:39 ` Greg KH
  2006-12-07 23:04   ` Daniel Barkalow
  2006-12-07 22:44 ` Linus Torvalds
  1 sibling, 1 reply; 5+ messages in thread
From: Greg KH @ 2006-12-07 22:39 UTC (permalink / raw)
  To: Daniel Barkalow; +Cc: Jeff Garzik, Linus Torvalds, linux-kernel

On Thu, Dec 07, 2006 at 05:31:33PM -0500, Daniel Barkalow wrote:
> Some device manufacturers seem to think it's the OS's responsibility to 
> disable legacy interrupt delivery when using MSI. If the driver doesn't 
> handle it (which they generally don't), and the device isn't PCI-Express, 
> a steady stream of legacy interrupts will be delivered in addition to the 
> MSI ones, eventually leading to the legacy IRQ getting disabled, which 
> kills any device that shares it.
> 
> Jeff proposed a patch in http://lkml.org/lkml/2006/11/21/332 when Linus 
> wanted to do it in the PCI layer, but nobody seems to have told the actual 
> PCI maintainer.

Care to take Jeff's proposed patch, verify that it works and forward it
on to me?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disable INTx when enabling MSI
  2006-12-07 22:31 Disable INTx when enabling MSI Daniel Barkalow
  2006-12-07 22:39 ` Greg KH
@ 2006-12-07 22:44 ` Linus Torvalds
  2006-12-07 22:53   ` Jeff Garzik
  1 sibling, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2006-12-07 22:44 UTC (permalink / raw)
  To: Daniel Barkalow; +Cc: gregkh, Jeff Garzik, linux-kernel



On Thu, 7 Dec 2006, Daniel Barkalow wrote:
>
> Jeff proposed a patch in http://lkml.org/lkml/2006/11/21/332 when Linus 
> wanted to do it in the PCI layer, but nobody seems to have told the actual 
> PCI maintainer.

I got a patch from Jeff, but it was marked as totally untested, and wasn't 
even signed-off, so I asked for that to be fixed, and never heard back.

If somebody sends me the patch that disables INTx when MSI is enabled, 
with testing, and saying "I verified that this fixed it for me", I will 
happily apply it.

NOTE: _I_ want the one that is PCI-wide. No per-driver stuff, please. I'm 
of the opinion that any hardware that supports MSI but doesn't support 
INTx_DISABLE from PCI-2.3 (or at least do it automatically and ignore the 
bit in the config word) should just not use MSI at all. Such hardware is 
simply broken (and nobody has actually pointed to an example of that 
existing in the real world, so we really most likely will never care about 
the theoretical situation about something that might react badly to 
having MSI enable automatically disable INTx).

		Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disable INTx when enabling MSI
  2006-12-07 22:44 ` Linus Torvalds
@ 2006-12-07 22:53   ` Jeff Garzik
  0 siblings, 0 replies; 5+ messages in thread
From: Jeff Garzik @ 2006-12-07 22:53 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Daniel Barkalow, gregkh, linux-kernel

Linus Torvalds wrote:
> 
> On Thu, 7 Dec 2006, Daniel Barkalow wrote:
>> Jeff proposed a patch in http://lkml.org/lkml/2006/11/21/332 when Linus 
>> wanted to do it in the PCI layer, but nobody seems to have told the actual 
>> PCI maintainer.
> 
> I got a patch from Jeff, but it was marked as totally untested, and wasn't 
> even signed-off, so I asked for that to be fixed, and never heard back.
> 
> If somebody sends me the patch that disables INTx when MSI is enabled, 
> with testing, and saying "I verified that this fixed it for me", I will 
> happily apply it.

Making it now...

	Jeff




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Disable INTx when enabling MSI
  2006-12-07 22:39 ` Greg KH
@ 2006-12-07 23:04   ` Daniel Barkalow
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Barkalow @ 2006-12-07 23:04 UTC (permalink / raw)
  To: Greg KH; +Cc: Jeff Garzik, Linus Torvalds, linux-kernel

On Thu, 7 Dec 2006, Greg KH wrote:

> Care to take Jeff's proposed patch, verify that it works and forward it
> on to me?

I'll test it tomorrow. Testing disables my network, and making sure the 
problem exists without the patch kills my disk controller, so I need to 
sit at the computer for a while. I assume that I've got the only known 
device that demonstrates the need for this?

Off topic: would it be wise as a general rule to somehow shut down devices 
whose interrupts get disabled by the "nobody cared!" code? Or maybe call 
their interrupt handlers periodically to keep them alive?

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-12-07 23:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-07 22:31 Disable INTx when enabling MSI Daniel Barkalow
2006-12-07 22:39 ` Greg KH
2006-12-07 23:04   ` Daniel Barkalow
2006-12-07 22:44 ` Linus Torvalds
2006-12-07 22:53   ` Jeff Garzik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox