Re: [PATCH v6 03/29] x86/apic/msi: Set the delivery mode individually for each IRQ
From: Thomas Gleixner
Date: Fri May 06 2022 - 16:05:43 EST
On Thu, May 05 2022 at 16:59, Ricardo Neri wrote:
> There are no restrictions in hardware to set MSI messages with its
> own delivery mode.
"messages with its own" ? Plural/singular confusion.
> Use the mode specified in the provided IRQ hardware
> configuration data. Since most of the IRQs are configured to use the
> delivery mode of the APIC driver in use (set in all of them to
> APIC_DELIVERY_MODE_FIXED), the only functional changes are where
> IRQs are configured to use a specific delivery mode.
This does not parse. There are no functional changes due to this patch
and there is no point talking about functional changes in subsequent
patches here.
> Changing the utility function __irq_msi_compose_msg() takes care of
> implementing the change in the in the local APIC, PCI-MSI, and DMAR-MSI
in the in the
> irq_chips.
>
> The IO-APIC irq_chip configures the entries in the interrupt redirection
> table using the delivery mode specified in the corresponding MSI message.
> Since the MSI message is composed by a higher irq_chip in the hierarchy,
> it does not need to be updated.
The point is that updating __irq_msi_compose_msg() covers _all_ MSI
consumers including IO-APIC.
I had to read that changelog 3 times to make sense of it. Something like
this perhaps:
"x86/apic/msi: Use the delivery mode from irq_cfg for message composition
irq_cfg provides a delivery mode for each interrupt. Use it instead
of the hardcoded APIC_DELIVERY_MODE_FIXED. This allows to compose
messages for NMI delivery mode which is required to implement a HPET
based NMI watchdog.
No functional change as the default delivery mode is set to
APIC_DELIVERY_MODE_FIXED."
Thanks,
tglx