[sig-cloud-9] 5.14.0-503.19.1.el9_5 update Carried Patches
Source Code PR / Branch
https://github.com/ctrliq/kernel-src-tree/tree/sig-cloud-9/5.14.0-503.19.1.el9_5
https://github.com/ctrliq/kernel-src-tree/pull/35
Upgrade process
- Branch from
centos-stream-9for the appropriate build5.14.0-503 - Kernel History Rebuild Process for all
src.rpms hosted by RESF, https://dl.rockylinux.org/vault/rocky/9.5/BaseOS/source/tree/Packages/k/ - Create
sig-cloud-9/5.14.0-503.19.1el9_5branch - Check if any maintained code is included in the new
elrelease. - Cherry-pick all code from pervious branch into new branch (skipping unneeded code)
- Fix conflicts as they arise
- Each Commit on the branch should be made a patch for
SIDELINE - Update
directivesto add in the newsidelinefiles - Build with SRPMPROC and Test
Removed Patches (included in base code from Rocky) since 9.4 5.14.0-427.42.1
- x86/sev-es: Allow copy_from_kernel_nofault() in earlier boot
Build (with srpmproc)
Due to some issues discovered during testing I the original kernel-src-tree build and test data. I instead integrated these patches into a new srpmproc build to get full rpms to help deal with some of what I thought were build issues with the tests.
[jmaple@devbox cloud]$ cd kernel/r9/
[jmaple@devbox r9]$ diff SOURCES/r9-x86_kaslr_expose_and_use_end_of_physical_memory_address_space.patch ../../patch/kernel.git/SIDELINE/_supporting/r9-x86_kaslr_expose_and_use_end_of_physical_memory_address_space.patch
[jmaple@devbox r9]$ ls
SOURCES SPECS
[jmaple@devbox r9]$ time mock -r /etc/mock/rocky+epel-9-x86_64.cfg --resultdir=../../rpms/9_5 --spec=SPECS/kernel.spec --sources=SOURCES/
INFO: mock.py version 5.9 starting (python version = 3.9.19, NVR = mock-5.9-1.el9), args: /usr/libexec/mock/mock -r /etc/mock/rocky+epel-9-x86_64.cfg --resultdir=../../rpms/9_5 --spec=SPECS/kernel.spec --sources=SOURCES/
Start(bootstrap): init plugins
INFO: selinux enabled
Finish(bootstrap): init plugins
[SNIP]
Wrote: /builddir/build/RPMS/kernel-rt-modules-core-5.14.0-503.19.1.el9.1.0.x86_64.rpm
Wrote: /builddir/build/RPMS/kernel-rt-debuginfo-5.14.0-503.19.1.el9.1.0.x86_64.rpm
Wrote: /builddir/build/RPMS/kernel-debuginfo-5.14.0-503.19.1.el9.1.0.x86_64.rpm
Wrote: /builddir/build/RPMS/kernel-rt-debug-debuginfo-5.14.0-503.19.1.el9.1.0.x86_64.rpm
Wrote: /builddir/build/RPMS/kernel-debug-debuginfo-5.14.0-503.19.1.el9.1.0.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.OAFlQr
+ umask 022
+ cd /builddir/build/BUILD
+ cd kernel-5.14.0-503.19.1.el9_5
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/kernel-5.14.0-503.19.1.el9.1.0.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
Finish: rpmbuild kernel-5.14.0-503.19.1.el9.1.0.src.rpm
Finish: build phase for kernel-5.14.0-503.19.1.el9.1.0.src.rpm
INFO: Done(../../rpms/9_5/kernel-5.14.0-503.19.1.el9.1.0.src.rpm) Config(rocky+epel-9-x86_64) 74 minutes 16 seconds
INFO: Results and/or logs in: ../../rpms/9_5
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
Finish: clean chroot
Finish: run
real 75m6.186s
user 936m1.577s
sys 117m52.709s
Testing (with limited HMM)
NOTE Test using the following command after making the TARGET="m,m" or with kselftest here /usr/libexec/kselftests/mm/run_vmtests.sh -t hmm ./run_vmtests.sh -t hmm
9.4 HMM testing
These results were consistent in the previous 9.4 release of the HMM testing https://github.com/ctrliq/kernel-src-tree/pull/4
ok 53 hmm2.hmm2_device_private.double_map
# RUN hmm2.hmm2_device_coherent.migrate_mixed ...
# OK hmm2.hmm2_device_coherent.migrate_mixed
ok 54 hmm2.hmm2_device_coherent.migrate_mixed
# RUN hmm2.hmm2_device_coherent.snapshot ...
# OK hmm2.hmm2_device_coherent.snapshot
ok 55 hmm2.hmm2_device_coherent.snapshot
# RUN hmm2.hmm2_device_coherent.double_map ...
# OK hmm2.hmm2_device_coherent.double_map
ok 56 hmm2.hmm2_device_coherent.double_map
# FAILED: 53 / 56 tests passed.
# Totals: pass:51 fail:3 xfail:0 xpass:0 skip:2 error:0
[PASS]
9.5 HMM Infinite loop Testing
This requires a patch to do the testing as 3 of the tests cause infinite loops see this change: https://github.com/ctrliq/kernel-src-tree/commit/782e0aa98bc5bb9de0568d1d370024f12536e09a
# could not open hmm dmirror driver (/dev/hmm_dmirror2)
# # SKIP DEVICE_COHERENT not available
# # OK hmm2.hmm2_device_coherent.snapshot
# ok 55 # SKIP DEVICE_COHERENT not available
# # RUN hmm2.hmm2_device_coherent.double_map ...
# could not open hmm dmirror driver (/dev/hmm_dmirror2)
# # SKIP DEVICE_COHERENT not available
# # OK hmm2.hmm2_device_coherent.double_map
# ok 56 # SKIP DEVICE_COHERENT not available
# # FAILED: 53 / 56 tests passed.
# # Totals: pass:23 fail:3 xfail:0 xpass:0 skip:30 error:0
# [PASS]
9.5 SIG CLOUD BUILD (seen above)
could not open hmm dmirror driver (/dev/hmm_dmirror2)
# SKIP DEVICE_COHERENT not available
# OK hmm2.hmm2_device_coherent.snapshot
ok 55 # SKIP DEVICE_COHERENT not available
# RUN hmm2.hmm2_device_coherent.double_map ...
could not open hmm dmirror driver (/dev/hmm_dmirror2)
# SKIP DEVICE_COHERENT not available
# OK hmm2.hmm2_device_coherent.double_map
ok 56 # SKIP DEVICE_COHERENT not available
# FAILED: 53 / 56 tests passed.
# Totals: pass:23 fail:3 xfail:0 xpass:0 skip:30 error:0
[maple@r9-sigcloud-builder ~]$ uname -a
Linux r9-sigcloud-builder 5.14.0-503.19.1.el9.1.0.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec 23 15:23:23 EST 2024 x86_64 x86_64 x86_64 GNU/Linux
Reason for the tests going from 53/56 tests passed but from skip: 2 -> skip 30
This is related to selftest changes not anything else https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-9/-/commit/b401f30926f83f13521a3a6f7658da8fceea0382
Note that for hmm-tests this actually changes the result from pass to skip. Which seems fair, the test is skipped, after all.