linux-nvme.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64
@ 2017-10-06 21:49 Yogi Wannabe
  2017-10-08  6:24 ` Christoph Hellwig
  2017-10-09 14:49 ` Keith Busch
  0 siblings, 2 replies; 3+ messages in thread
From: Yogi Wannabe @ 2017-10-06 21:49 UTC (permalink / raw)


Hi,

Our NVMe controller works fine with Kernel 3.9.xx. On kernel
4.5.0-21.cavium.el7.aarch64 we see some issues with interrupts.

Upon nvme driver load it, sends an Identify cmd.. The controller
processes the cmd and sends a completion interrupt. The driver does
not see this interrupt nor is it visible in /proc/interrupts. After
admin timeout duration, driver disables controller and calls
free_irq(). As soon as free_irq() is called, interrupt reaches driver
and nvme_irq() is called. The interrupt vector is usually 17.

Are there any known issues that could be causing this weird behavior?

TIA
Yogi

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

* Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64
  2017-10-06 21:49 Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64 Yogi Wannabe
@ 2017-10-08  6:24 ` Christoph Hellwig
  2017-10-09 14:49 ` Keith Busch
  1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2017-10-08  6:24 UTC (permalink / raw)


On Fri, Oct 06, 2017@02:49:06PM -0700, Yogi Wannabe wrote:
> Are there any known issues that could be causing this weird behavior?

Probablt broken interrupt handling code in your patched non-mainline
code.

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

* Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64
  2017-10-06 21:49 Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64 Yogi Wannabe
  2017-10-08  6:24 ` Christoph Hellwig
@ 2017-10-09 14:49 ` Keith Busch
  1 sibling, 0 replies; 3+ messages in thread
From: Keith Busch @ 2017-10-09 14:49 UTC (permalink / raw)


On Fri, Oct 06, 2017@02:49:06PM -0700, Yogi Wannabe wrote:
> Our NVMe controller works fine with Kernel 3.9.xx. On kernel
> 4.5.0-21.cavium.el7.aarch64 we see some issues with interrupts.
> 
> Upon nvme driver load it, sends an Identify cmd.. The controller
> processes the cmd and sends a completion interrupt. The driver does
> not see this interrupt nor is it visible in /proc/interrupts. After
> admin timeout duration, driver disables controller and calls
> free_irq(). As soon as free_irq() is called, interrupt reaches driver
> and nvme_irq() is called. The interrupt vector is usually 17.
> 
> Are there any known issues that could be causing this weird behavior?

4.5 removed the completion queue polling, relying exclusively on
interrupts to find these sorts of problems.

After that, lots of people reported failures with device initialization.

I don't believe the root caused was found since no issues were reported
when we enabled MSI/MSIx for early init in 4.6.

For more details, see:

  http://lists.infradead.org/pipermail/linux-nvme/2016-May/004653.html

This unfortauntely was not picked up by the 4.5-stable.

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

end of thread, other threads:[~2017-10-09 14:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-06 21:49 Missing interrupts in kernel 4.5.0-21.cavium.el7.aarch64 Yogi Wannabe
2017-10-08  6:24 ` Christoph Hellwig
2017-10-09 14:49 ` Keith Busch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).