Re: Panic starting 6.2.x and later 6.1.x kernels

From: Limonciello, Mario
Date: Wed Mar 29 2023 - 15:24:13 EST


On 3/29/2023 14:20, David R wrote:
On 29/03/2023 20:17, Limonciello, Mario wrote:
On 3/29/2023 14:14, David R wrote:
I note that 6.2.8 still has:

static bool __init acpi_is_processor_usable(u32 lapic_flags)
{
         if (lapic_flags & ACPI_MADT_ENABLED)
                 return true;

         if (acpi_support_online_capable && (lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
                 return true;

         return false;
}

The flag getting set to false won't help unless the patch I tried previously is applied ?

diff <https://lore.kernel.org/all/20230327191026.3454-2-eric.devolder@xxxxxxxxxx/#iZ31arch:x86:kernel:acpi:boot.c> --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 1c38174b5f01..7b5b8ed018b0 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c @@ -193,7 +193,13 @@ static bool __init acpi_is_processor_usable(u32 lapic_flags)       if (lapic_flags & ACPI_MADT_ENABLED)
          return true;
  - if (acpi_support_online_capable && (lapic_flags & ACPI_MADT_ONLINE_CAPABLE)) + /* + * Prior to MADT.revision 5, the presence of the Local x2/APIC + * structure _implicitly_ noted a possible hotpluggable cpu. + * Starting with MADT.revision 5, the Online Capable bit + * _explicitly_ indicates a hotpluggable cpu. + */ + if (!acpi_support_online_capable || (lapic_flags & ACPI_MADT_ONLINE_CAPABLE))           return true;
        return false;
--


You mean specifically this change:
https://lore.kernel.org/all/20230327191026.3454-2-eric.devolder@xxxxxxxxxx/

Yes; I suppose that still makes sense.

Yes, that's the one.

But the fact that  that one worked own its own implies that my system never had the flag set in the first place?

David

Right - your BIOS doesn't support MADT revision 5 which was introduced as part of ACPI 6.3.

If you haven't already you should add a Tested-by tag for Eric's patch.

I think both mine and his coupled together should cover both of these possible areas of breakage.