2024-01-27 02:05:42

by Jacob Pan

[permalink] [raw]
Subject: [PATCH 04/15] x86/irq: Add a Kconfig option for posted MSI

This option will be used to support delivering MSIs as posted
interrupts. Interrupt remapping is required.

Signed-off-by: Jacob Pan <[email protected]>
---
arch/x86/Kconfig | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5edec175b9bf..79f04ee2b91c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -463,6 +463,17 @@ config X86_X2APIC

If you don't know what to do here, say N.

+config X86_POSTED_MSI
+ bool "Enable MSI and MSI-x delivery by posted interrupts"
+ depends on X86_X2APIC && X86_64 && IRQ_REMAP
+ help
+ This enables MSIs that are under interrupt remapping to be delivered as
+ posted interrupts to the host kernel. Interrupt throughput can
+ potentially be improved by coalescing CPU notifications during high
+ frequency bursts.
+
+ If you don't know what to do here, say N.
+
config X86_MPPARSE
bool "Enable MPS table" if ACPI
default y
--
2.25.1



2024-04-05 02:29:23

by Robert Hoo

[permalink] [raw]
Subject: Re: [PATCH 04/15] x86/irq: Add a Kconfig option for posted MSI

On 1/27/2024 7:42 AM, Jacob Pan wrote:
> This option will be used to support delivering MSIs as posted
> interrupts. Interrupt remapping is required.
>
> Signed-off-by: Jacob Pan <[email protected]>
> ---
> arch/x86/Kconfig | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 5edec175b9bf..79f04ee2b91c 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -463,6 +463,17 @@ config X86_X2APIC
>
> If you don't know what to do here, say N.
>
> +config X86_POSTED_MSI
> + bool "Enable MSI and MSI-x delivery by posted interrupts"
> + depends on X86_X2APIC && X86_64 && IRQ_REMAP

Does posted_msi really depend on x2APIC? PID.NDST encoding supports both xAPIC
and x2APIC.
If posted_msi posts more stringent requirement, I think it deserves an
explanation in this patch's description.

And, X86_X2APIC already depends on IRQ_REMAP, can we just list one of them here?

2024-04-05 21:47:20

by Jacob Pan

[permalink] [raw]
Subject: Re: [PATCH 04/15] x86/irq: Add a Kconfig option for posted MSI

Hi Robert,

On Fri, 5 Apr 2024 10:28:59 +0800, Robert Hoo <[email protected]>
wrote:

> On 1/27/2024 7:42 AM, Jacob Pan wrote:
> > This option will be used to support delivering MSIs as posted
> > interrupts. Interrupt remapping is required.
> >
> > Signed-off-by: Jacob Pan <[email protected]>
> > ---
> > arch/x86/Kconfig | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> > index 5edec175b9bf..79f04ee2b91c 100644
> > --- a/arch/x86/Kconfig
> > +++ b/arch/x86/Kconfig
> > @@ -463,6 +463,17 @@ config X86_X2APIC
> >
> > If you don't know what to do here, say N.
> >
> > +config X86_POSTED_MSI
> > + bool "Enable MSI and MSI-x delivery by posted interrupts"
> > + depends on X86_X2APIC && X86_64 && IRQ_REMAP
>
> Does posted_msi really depend on x2APIC? PID.NDST encoding supports both
> xAPIC and x2APIC.
No, posted_msi works with xAPIC as well. I just fixed a bug in NDST xAPIC
encoding, will be in v2.

I was thinking from the performance advantage of x2APIC. But you are right
they are orthogonal.

> If posted_msi posts more stringent requirement, I think it deserves an
> explanation in this patch's description.
> And, X86_X2APIC already depends on IRQ_REMAP, can we just list one of
> them here?
Will drop X2APIC dependency.

Thanks,

Jacob