2023-03-29 19:23:01

by Mario Limonciello

[permalink] [raw]
Subject: Re: Panic starting 6.2.x and later 6.1.x kernels

On 3/29/2023 14:14, David R wrote:
> On 29/03/2023 20:07, Limonciello, Mario wrote:
>> On 3/29/2023 14:03, David R wrote:
>>>
>>>> Can you guys have a try with this patch to see if it helps the
>>>> situation?
>>>>
>>>> https://lore.kernel.org/linux-pm/[email protected]/T/#u
>>>>
>>>> Thanks,
>>>
>>> Your patch on top of 6.2.8 brought the crash back I'm afraid.
>>>
>>> Cheers
>>> David
>>
>> Humm.  In that case I'm a bit worried there is some conflicting
>> patches that caused this result.  Could you try with both
>>
>> e2869bd7af60 and aa06e20f1be6 reverted?  If that also fails, I think a
>> more complicated bisect removing those commits is needed.
>
> 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/[email protected]/#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/[email protected]/

Yes; I suppose that still makes sense.


2023-03-29 19:24:25

by David R

[permalink] [raw]
Subject: Re: Panic starting 6.2.x and later 6.1.x kernels

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/[email protected]/#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/[email protected]/
>
>
> 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

2023-03-29 19:26:01

by Mario Limonciello

[permalink] [raw]
Subject: Re: Panic starting 6.2.x and later 6.1.x kernels

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/[email protected]/#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/[email protected]/
>>
>> 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.

2023-03-29 19:39:25

by David R

[permalink] [raw]
Subject: Re: Panic starting 6.2.x and later 6.1.x kernels

On 29/03/2023 20:24, Limonciello, Mario wrote:
> On 3/29/2023 14:20, David R wrote:
>> On 29/03/2023 20:17, Limonciello, Mario wrote:
>>>
>>> You mean specifically this change:
>>> https://lore.kernel.org/all/[email protected]/
>>>
>>>
>>> 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.

Indeed.

I'm not subscribed to linux-pm so don't know how I'd add my Tested-by:

By all means add it on my behalf.

Cheers
David