Re: Issue With real-time patches on 5.15.y

From: Joseph Salisbury
Date: Thu May 05 2022 - 19:20:38 EST




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;
      |        ^~~~~~~~~~