Re: [PATCH V2] usb: ehci: Prevent missed ehci interrupts with edge-triggered MSI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 16, 2021 at 04:36:18PM +0300, Andy Shevchenko wrote:
> On Thu, Jul 15, 2021 at 05:37:44PM -0400, David Jeffery wrote:
> > When MSI is used by the ehci-hcd driver, it can cause lost interrupts which
> > results in EHCI only continuing to work due to a polling fallback. But the
> > reliance of polling drastically reduces performance of any I/O through EHCI.
> > 
> > Interrupts are lost as the EHCI interrupt handler does not safely handle
> > edge-triggered interrupts. It fails to ensure all interrupt status bits are
> > cleared, which works with level-triggered interrupts but not the
> > edge-triggered interrupts typical from using MSI.
> > 
> > To fix this problem, check if the driver may have raced with the hardware
> > setting additional interrupt status bits and clear status until it is in a
> > stable state.
> > 
> > Signed-off-by: David Jeffery <djeffery@xxxxxxxxxx>
> > Tested-by: Laurence Oberman <loberman@xxxxxxxxxx>
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> > Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> 
> > Fixes: 306c54d0edb6 usb: hcd: Try MSI interrupts on PCI devices
> 
> Improper format.
> 
> Add to your .gitconfig the following:
> 
> [alias]
> 	one = show -s --pretty='format:%h (\"%s\")'
> 	c = show -s --pretty='format:https://git.kernel.org/torvalds/c/%h'

And this

[core]
	abbrev = 12

`git one $COMMIT` will give you a nice representation.

-- 
With Best Regards,
Andy Shevchenko





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux