lkml.org 
[lkml]   [2023]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch V2 30/46] x86/xen: Wrap XEN MSI management into irqdomain
From
Date
On Wed, 2020-08-26 at 13:16 +0200, Thomas Gleixner wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
>
> To allow utilizing the irq domain pointer in struct device it is necessary
> to make XEN/MSI irq domain compatible.
>
> While the right solution would be to truly convert XEN to irq domains, this
> is an exercise which is not possible for mere mortals with limited XENology.
>
> Provide a plain irqdomain wrapper around XEN. While this is blatant
> violation of the irqdomain design, it's the only solution for a XEN igorant
> person to make progress on the issue which triggered this change.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Acked-by: Juergen Gross <jgross@suse.com>

I think it broke MSI-X support, because xen_pci_msi_domain_info is
lacking a .flags = MSI_FLAGS_PCI_MSIX?

> ---
> Note: This is completely untested, but it compiles so it must be perfect.


I'm working on making it simple for you to test that, by hosting Xen
HVM guests natively in qemu (under KVM¹). 

But I'm absolutely not going to try hacking on both guest and host side
at the same time when I'm trying to ensure compatibility — that way
lies madness.

So for now I'm going to test qemu with older kernels, and maybe someone
(Jürgen}? can test MSI-X to PIRQ support under real Xen?) FWIW if I add
the missing MSI_FLAGS_PCI_MSIX flag then under my qemu I get:

38: 3180 0 xen-pirq -msi-x ens4-rx-0
39: 0 3610 xen-pirq -msi-x ens4-tx-0
40: 1 0 xen-pirq -msi-x ens4

But without the flags I get:

[ 8.464212] e1000e 0000:00:04.0 ens4: Failed to initialize MSI interrupts. Falling back to legacy interrupts.

¹ https://lore.kernel.org/qemu-devel/20230110122042.1562155-1-dwmw2@infradead.org/
[unhandled content-type:application/pkcs7-signature]
\
 
 \ /
  Last update: 2023-03-26 23:41    [W:0.702 / U:0.588 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site