2022-05-07 01:32:51

by Joseph Salisbury

[permalink] [raw]
Subject: Issue With real-time patches on 5.15.y

Hello,

I ran into a build failure after applying the rt40 real-time patches[0]
to an Ubuntu 22.04 kernel. The Ubuntu kernel is based on upstream stable
5.15.y(5.15.34 currently).  I believe this patch is the specific one
that introduces the build issue:
0086-locking-Allow-to-include-asm-spinlock_types.h-from-l.patch.

After a bisect, the following commit was identified as the cause for the
build failure:
b50854eca0e0 ("x86/pkru: Remove useless include")

This commit was added to mainline as of 5.16-rc1 and not Cc'd to stable,
so it should not exist in 5.15.y.  However, it was purposely added to
the Ubuntu kernel to enable x86 AMX support[1].

The real-time kernel build failure can be resolved by reverting commit
b50854eca0e0.  The failure seems to be due to the removal of an include
of xstate.h from pkru.h and caused spinlock_t to not be defined.  The
commit would only be reverted for the real-time kernel and not any other
kernels.  I wanted to see if reverting the commit is the proper
approach, or if cherry-picking additional commits might be a better
solution in preparation for additional changes that might be coming in
the future?

Any suggestions would be greatly appreciated.

Thanks,

Joe


[0]
https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.15/older/patches-5.15.34-rt40.tar.gz
[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1967750


2022-05-09 10:57:43

by Mike Galbraith

[permalink] [raw]
Subject: Re: Issue With real-time patches on 5.15.y

On Thu, 2022-05-05 at 19:20 -0400, Joseph Salisbury wrote:
> ...
> Also, the following is the build failure that happens:
> arch/x86/include/asm/pgtable.h:55:8: error: unknown type name 'spinlock_t'
>     55 | extern spinlock_t pgd_lock;
>        |        ^~~~~~~~~~

35fa745286ac4 was merged into mainline 5.17-rc1 to squash that buglet.

-Mike

2022-05-09 11:20:18

by Joseph Salisbury

[permalink] [raw]
Subject: Re: Issue With real-time patches on 5.15.y



On 5/5/22 19:18, Joseph Salisbury wrote:
> Hello,
>
> I ran into a build failure after applying the rt40 real-time
> patches[0] to an Ubuntu 22.04 kernel. The Ubuntu kernel is based on
> upstream stable 5.15.y(5.15.34 currently).  I believe this patch is
> the specific one that introduces the build issue:
> 0086-locking-Allow-to-include-asm-spinlock_types.h-from-l.patch.
>
> After a bisect, the following commit was identified as the cause for
> the build failure:
> b50854eca0e0 ("x86/pkru: Remove useless include")
>
> This commit was added to mainline as of 5.16-rc1 and not Cc'd to
> stable, so it should not exist in 5.15.y.  However, it was purposely
> added to the Ubuntu kernel to enable x86 AMX support[1].
>
> The real-time kernel build failure can be resolved by reverting commit
> b50854eca0e0.  The failure seems to be due to the removal of an
> include of xstate.h from pkru.h and caused spinlock_t to not be
> defined.  The commit would only be reverted for the real-time kernel
> and not any other kernels.  I wanted to see if reverting the commit is
> the proper approach, or if cherry-picking additional commits might be
> a better solution in preparation for additional changes that might be
> coming in the future?
>
> Any suggestions would be greatly appreciated.
>
> Thanks,
>
> Joe
>
>
> [0]
> https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.15/older/patches-5.15.34-rt40.tar.gz
> [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1967750
Also, the following is the build failure that happens:
arch/x86/include/asm/pgtable.h:55:8: error: unknown type name 'spinlock_t'
   55 | extern spinlock_t pgd_lock;
      |        ^~~~~~~~~~

2022-05-11 02:49:10

by Joseph Salisbury

[permalink] [raw]
Subject: Re: Issue With real-time patches on 5.15.y



On 5/9/22 06:14, Mike Galbraith wrote:
> On Thu, 2022-05-05 at 19:20 -0400, Joseph Salisbury wrote:
>> ...
>> Also, the following is the build failure that happens:
>> arch/x86/include/asm/pgtable.h:55:8: error: unknown type name 'spinlock_t'
>>     55 | extern spinlock_t pgd_lock;
>>        |        ^~~~~~~~~~
> 35fa745286ac4 was merged into mainline 5.17-rc1 to squash that buglet.
>
> -Mike
Thank you for the pointer, Mike!  This commit fixes the build issue I
was seeing.

Thanks,

Joe