Re: [EXTERNAL] [tip: x86/apic] x86/io_apic: Cleanup trigger/polarity helpers

From: David Woodhouse
Date: Mon Nov 09 2020 - 22:30:36 EST


On Mon, 2020-11-09 at 17:15 -0600, Tom Lendacky wrote:
> On 10/29/20 7:15 AM, tip-bot2 for Thomas Gleixner wrote:
> > The following commit has been merged into the x86/apic branch of tip:
> >
> > Commit-ID: a27dca645d2c0f31abb7858aa0e10b2fa0f2f659
> > Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=a27dca645d2c0f31abb7858aa0e10b2fa0f2f659
> > Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > AuthorDate: Sat, 24 Oct 2020 22:35:19 +01:00
> > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > CommitterDate: Wed, 28 Oct 2020 20:26:26 +01:00
> >
> > x86/io_apic: Cleanup trigger/polarity helpers
> >
> > 'trigger' and 'polarity' are used throughout the I/O-APIC code for handling
> > the trigger type (edge/level) and the active low/high configuration. While
> > there are defines for initializing these variables and struct members, they
> > are not used consequently and the meaning of 'trigger' and 'polarity' is
> > opaque and confusing at best.
> >
> > Rename them to 'is_level' and 'active_low' and make them boolean in various
> > structs so it's entirely clear what the meaning is.
>
> Running the tip tree on my second generation EPYC system I'm seeing lots
> of the following:
>
> [ 105.325371] hpet: Lost 9601 RTC interrupts
> [ 105.485766] hpet: Lost 9600 RTC interrupts
> [ 105.639182] hpet: Lost 9601 RTC interrupts
> [ 105.792155] hpet: Lost 9601 RTC interrupts
> [ 105.947076] hpet: Lost 9601 RTC interrupts
> [ 106.100876] hpet: Lost 9600 RTC interrupts
> [ 106.253444] hpet: Lost 9601 RTC interrupts
> [ 106.406722] hpet: Lost 9601 RTC interrupts
>
> preventing the system from booting. I bisected it to this commit.
>
> Additionally, I'm seeing warnings and error messages (which I haven't
> bisected, yet) along these lines:
>
> [ 12.790801] WARNING: CPU: 135 PID: 1 at arch/x86/kernel/apic/apic.c:2505 __irq_msi_compose_msg+0x79/0x80
> [ 98.121716] irq 3: nobody cared (try booting with the "irqpoll" option)
> [ 100.692087] irq 15: nobody cared (try booting with the "irqpoll" option)
> [ 100.800217] irq 11: nobody cared (try booting with the "irqpoll" option)
> [ 100.800407] irq 10: nobody cared (try booting with the "irqpoll" option)

Odd. The warning suggests we're asking __irq_msi_compose_msg() to
compose an MSI targeted at an APIC ID above 255, which shouldn't ever
happen.

Can we see a full boot log with apic=verbose please?

Attachment: smime.p7s
Description: S/MIME cryptographic signature