[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220512002658.GB16273@ranerica-svr.sc.intel.com>
Date: Wed, 11 May 2022 17:26:58 -0700
From: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: x86@...nel.org, Tony Luck <tony.luck@...el.com>,
Andi Kleen <ak@...ux.intel.com>,
Stephane Eranian <eranian@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Joerg Roedel <joro@...tes.org>,
Suravee Suthikulpanit <Suravee.Suthikulpanit@....com>,
David Woodhouse <dwmw2@...radead.org>,
Lu Baolu <baolu.lu@...ux.intel.com>,
Nicholas Piggin <npiggin@...il.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Ricardo Neri <ricardo.neri@...el.com>,
iommu@...ts.linux-foundation.org, linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 02/29] x86/apic: Add irq_cfg::delivery_mode
On Fri, May 06, 2022 at 09:53:54PM +0200, Thomas Gleixner wrote:
> On Thu, May 05 2022 at 16:59, Ricardo Neri wrote:
> > Currently, the delivery mode of all interrupts is set to the mode of the
> > APIC driver in use. There are no restrictions in hardware to configure the
> > delivery mode of each interrupt individually. Also, certain IRQs need
> > to be
>
> s/IRQ/interrupt/ Changelogs can do without acronyms.
Sure. I will sanitize all the changelogs to remove acronyms.
>
> > configured with a specific delivery mode (e.g., NMI).
> >
> > Add a new member, delivery_mode, to struct irq_cfg. Subsequent changesets
> > will update every irq_domain to set the delivery mode of each IRQ to that
> > specified in its irq_cfg data.
> >
> > To keep the current behavior, when allocating an IRQ in the root
> > domain
>
> The root domain does not allocate an interrupt. The root domain
> allocates a vector for an interrupt. There is a very clear and technical
> destinction. Can you please be more careful about the wording?
I will review the wording in the changelogs.
>
> > --- a/arch/x86/kernel/apic/vector.c
> > +++ b/arch/x86/kernel/apic/vector.c
> > @@ -567,6 +567,7 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
> > irqd->chip_data = apicd;
> > irqd->hwirq = virq + i;
> > irqd_set_single_target(irqd);
> > +
>
> Stray newline.
Sorry! I will remove it.
>
> > /*
> > * Prevent that any of these interrupts is invoked in
> > * non interrupt context via e.g. generic_handle_irq()
> > @@ -577,6 +578,14 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
> > /* Don't invoke affinity setter on deactivated interrupts */
> > irqd_set_affinity_on_activate(irqd);
> >
> > + /*
> > + * Initialize the delivery mode of this irq to match the
>
> s/irq/interrupt/
I will make this change.
Thanks and BR,
Ricardo
>
> > + * default delivery mode of the APIC. Children irq domains
> > + * may take the delivery mode from the individual irq
> > + * configuration rather than from the APIC driver.
> > + */
> > + apicd->hw_irq_cfg.delivery_mode = apic->delivery_mode;
> > +
> > /*
> > * Legacy vectors are already assigned when the IOAPIC
> > * takes them over. They stay on the same vector. This is
Powered by blists - more mailing lists