[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aIJjrYne1VvGjBux@liuwe-devbox-ubuntu-v2.tail21d00.ts.net>
Date: Thu, 24 Jul 2025 16:47:41 +0000
From: Wei Liu <wei.liu@...nel.org>
To: Nam Cao <namcao@...utronix.de>
Cc: "K . Y . Srinivasan" <kys@...rosoft.com>,
Nuno Das Neves <nunodasneves@...ux.microsoft.com>,
Marc Zyngier <maz@...nel.org>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>, Dexuan Cui <decui@...rosoft.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H . Peter Anvin" <hpa@...or.com>, linux-hyperv@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 0/1] x86/hyperv: MSI parent domain conversion
Nuno, can you please take a look at this patch?
On Fri, Jul 18, 2025 at 09:57:49PM +0200, Nam Cao wrote:
> The initial implementation of PCI/MSI interrupt domains in the hierarchical
> interrupt domain model used a shortcut by providing a global PCI/MSI
> domain.
>
> This works because the PCI/MSI[X] hardware is standardized and uniform, but
> it violates the basic design principle of hierarchical interrupt domains:
> Each hardware block involved in the interrupt delivery chain should have a
> separate interrupt domain.
>
> For PCI/MSI[X], the interrupt controller is per PCI device and not a global
> made-up entity.
>
> Unsurprisingly, the shortcut turned out to have downsides as it does not
> allow dynamic allocation of interrupt vectors after initialization and it
> prevents supporting IMS on PCI. For further details, see:
>
> https://lore.kernel.org/lkml/20221111120501.026511281@linutronix.de/
>
> The solution is implementing per device MSI domains, this means the
> entities which provide global PCI/MSI domain so far have to implement MSI
> parent domain functionality instead.
>
> This series converts the x86 hyperv driver to implement MSI parent domain.
>
> Changes in v3:
>
> - Drop the merged patch
>
> - Rebase onto hyperv-fixes
>
> arch/x86/hyperv/irqdomain.c | 111 ++++++++++++++++++++++++------------
> drivers/hv/Kconfig | 1 +
> 2 files changed, 77 insertions(+), 35 deletions(-)
>
> --
> 2.49.0
>
Powered by blists - more mailing lists