On 24.3.2020 18.17, Evan Green wrote: > > Another experiment would be to try my old patch in [1]. I'm not > advocating for this patch as a solution, Thomas and Bjorn have > convinced me that it will break the rest of the world. But your PCI > device 0xa3af seems to be Comet Lake. I was also on Comet Lake. So I'd > expect to at least see it mask your problem. Again, if it didn't, that > might be an interesting datapoint. > > [1] https://lore.kernel.org/lkml/20200117162444.v2.1.I9c7e72144ef639cc135ea33ef332852a6b33730f@changeid/ > Yes I'm testing on a Comet Lake, oddly your patch doesn't mask the problem. Did a few rounds, seems that xhci interrupts don't always stop when both vector and apicid are updated. Sometimes just apicid update triggers it. (tail of) round 1: <idle>-0 [001] d.h. 249.040051: xhci_irq: xhci irq <idle>-0 [001] d.h. 249.040122: do_IRQ: vector: 33 desc ffff9e84075b1800 <idle>-0 [001] d.h. 249.040125: xhci_irq: xhci irq migration/1-14 [001] d..1 249.045231: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 2 -> 6 migration/3-24 [003] d..1 249.069563: msi_set_affinity: twostep update msi, irq 123, vector 33 -> 35, apicid: 6 -> 0 <idle>-0 [000] d.h. 250.294934: do_IRQ: vector: 33 desc ffff9e84066df200 <idle>-0 [000] d.h. 250.294940: msi_set_affinity: direct update msi 122, vector 33 -> 33, apicid: 0 -> 0 <idle>-0 [000] d.h. 252.276099: do_IRQ: vector: 33 desc ffff9e84066df200 round 2: <idle>-0 [001] d.h. 75.580577: do_IRQ: vector: 33 desc ffffa0449d084a00 <idle>-0 [001] d.h. 75.580578: xhci_irq: xhci irq <idle>-0 [001] d.h. 75.580639: do_IRQ: vector: 33 desc ffffa0449d084a00 <idle>-0 [001] d.h. 75.580640: xhci_irq: xhci irq <...>-14 [001] d..1 75.585814: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 2 -> 6 migration/3-24 [003] d..1 75.606381: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 6 -> 0 <idle>-0 [000] d.h. 76.275792: do_IRQ: vector: 35 desc ffffa04486009a00 round 3: <idle>-0 [001] d.h. 117.383266: xhci_irq: xhci irq <idle>-0 [001] d.h. 117.383407: do_IRQ: vector: 33 desc ffff92515d0d5800 <idle>-0 [001] d.h. 117.383410: xhci_irq: xhci irq migration/1-14 [001] d..1 117.388527: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 2 -> 6 migration/3-24 [003] d..1 117.413877: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 6 -> 0 <idle>-0 [000] d.h. 119.290474: do_IRQ: vector: 35 desc ffff92514757b600 round 4: <idle>-0 [003] d.h. 147.950569: do_IRQ: vector: 33 desc ffff976fdd04ca00 <idle>-0 [003] d.h. 147.950569: xhci_irq: xhci irq <idle>-0 [003] d.h. 147.950689: do_IRQ: vector: 33 desc ffff976fdd04ca00 <idle>-0 [003] d.h. 147.950690: xhci_irq: xhci irq migration/3-24 [003] d..1 147.951368: msi_set_affinity: direct update msi 123, vector 33 -> 33, apicid: 6 -> 0 <idle>-0 [000] d.h. 148.491193: do_IRQ: vector: 35 desc ffff976fdcc9da00 <idle>-0 [000] d.h. 148.491198: msi_set_affinity: direct update msi 122, vector 35 -> 35, apicid: 0 -> 0 -Mathias