Update the kcompile kernel to linux-6.12-rc4

Add patch to put stress-ng options in their own manpage section
Change constant name earlystop TO EARLYSTOP
Update the kcompile kernel to linux-6.12-rc4

Resolves: RHEL-63611
Signed-off-by: John Kacur <jkacur@redhat.com>
This commit is contained in:
John Kacur 2024-10-25 10:04:12 -04:00
parent 9b29dd6c7b
commit 173d95e08e
7 changed files with 236 additions and 24 deletions

1
.gitignore vendored
View File

@ -7,3 +7,4 @@
/0001-rteval-Change-the-default-kernel-for-kcompile-to-lin.patch
/0002-rteval-Remove-upstream-spec-file.patch
/rteval-3.8.tar.xz
/linux-6.12-rc4.tar.gz

View File

@ -0,0 +1,83 @@
From d6c6966026eb640d545ef7b5792c532b31a9f796 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 30 Sep 2024 15:10:51 -0400
Subject: [PATCH 1/2] rteval: Change constant name to uppercase
Change constant name earlystop to EARLYSTOP
add "from err" when re-raising RuntimeError
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/__init__.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/rteval/__init__.py b/rteval/__init__.py
index 8ded374d287e..7c13e84e03bf 100644
--- a/rteval/__init__.py
+++ b/rteval/__init__.py
@@ -28,7 +28,7 @@ from rteval import version
RTEVAL_VERSION = version.RTEVAL_VERSION
-earlystop = False
+EARLYSTOP = False
stopsig = threading.Event()
def sig_handler(signum, frame):
@@ -106,7 +106,7 @@ class RtEval(rtevalReport):
if not onlyload or self.__rtevcfg.logging:
self.__reportdir = self._make_report_dir(self.__rtevcfg.workdir, "summary.xml")
except Exception as err:
- raise RuntimeError(f"Cannot create report directory (NFS with rootsquash on?) [{err}]]")
+ raise RuntimeError(f"Cannot create report directory (NFS with rootsquash on?) [{err}]]") from err
params = {'workdir':self.__rtevcfg.workdir,
'reportdir':self.__reportdir and self.__reportdir or "",
@@ -131,7 +131,7 @@ class RtEval(rtevalReport):
def __RunMeasurement(self):
- global earlystop
+ global EARLYSTOP
measure_start = None
try:
@@ -186,7 +186,7 @@ class RtEval(rtevalReport):
stopsig.wait(min(stoptime - currtime, 60.0))
if not self._measuremods.isAlive():
stoptime = currtime
- earlystop = True
+ EARLYSTOP = True
self.__logger.log(Log.WARN,
"Measurement threads did not use the full time slot. Doing a controlled stop.")
@@ -214,7 +214,7 @@ class RtEval(rtevalReport):
except RuntimeError as err:
if not stopsig.is_set():
- raise RuntimeError(f"appeared during measurement: {err}")
+ raise RuntimeError(f"appeared during measurement: {err}") from err
finally:
# stop measurement threads
@@ -234,7 +234,7 @@ class RtEval(rtevalReport):
def Measure(self):
""" Run the full measurement suite with reports """
- global earlystop
+ global EARLYSTOP
rtevalres = 0
measure_start = self.__RunMeasurement()
@@ -242,7 +242,7 @@ class RtEval(rtevalReport):
if self.__rtevcfg.sysreport:
self._sysinfo.run_sysreport(self.__reportdir)
- if earlystop:
+ if EARLYSTOP:
rtevalres = 1
self._sysinfo.copy_dmesg(self.__reportdir)
self._tar_results()
--
2.46.2

View File

@ -0,0 +1,88 @@
From d7dc1a05dd60c0fe2ab3edaaea3786a8be592ade Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Tue, 22 Oct 2024 13:42:12 -0400
Subject: [PATCH 2/2] rteval: Update the kcompile kernel to linux-6.12-rc4
Update the kernel that rteval compiles as a load in the load module
kcompile
This kernel contains patches to address the fact that ENGINE API has
been deprecated since OpenSSL version 3.0. This is important because
some distros have been dropping the headers for the deprecated api
and this has been causing kcompile to fail, unless you supply a special
kernel with the patches to address this.
With this change the upstream kernel as is will work again.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
Dockerfile | 2 +-
Makefile | 2 +-
rteval/modules/loads/kcompile.py | 4 ++--
rteval/rteval.conf | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index f3ee516b57d5..b8f602b11703 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
# Use CentOS Stream 9 as base image
FROM centos:stream9
-ARG KERNEL_VERSION=linux-6.10.5.tar.xz
+ARG KERNEL_VERSION=linux-6.12-rc4.tar.gz
# Copy current directory to /opt/rteval/
diff --git a/Makefile b/Makefile
index e1a2bbba0373..a250b18611b4 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ PREFIX := /usr
DATADIR := $(DESTDIR)/$(PREFIX)/share
LOADDIR := loadsource
-KLOAD := $(LOADDIR)/linux-6.10.5.tar.xz
+KLOAD := $(LOADDIR)/linux-6.12-rc4.tar.gz
BLOAD := $(LOADDIR)/dbench-4.0.tar.gz
LOADS := $(KLOAD) $(BLOAD)
diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
index 58c542201a1b..8a3a0e93fa14 100644
--- a/rteval/modules/loads/kcompile.py
+++ b/rteval/modules/loads/kcompile.py
@@ -21,7 +21,7 @@ expand_cpulist = cpulist_utils.expand_cpulist
compress_cpulist = cpulist_utils.compress_cpulist
nonisolated_cpulist = cpulist_utils.nonisolated_cpulist
-DEFAULT_KERNEL_PREFIX = "linux-6.10.5"
+DEFAULT_KERNEL_PREFIX = "linux-6.12-rc4"
class KBuildJob:
'''Class to manage a build job bound to a particular node'''
@@ -342,7 +342,7 @@ class Kcompile(CommandLineLoad):
def ModuleParameters():
return {"source": {"descr": "Source tar ball",
- "default": "linux-6.10.5.tar.xz",
+ "default": "linux-6.12-rc4.tar.gz",
"metavar": "TARBALL"},
"jobspercore": {"descr": "Number of working threads per core",
"default": 2,
diff --git a/rteval/rteval.conf b/rteval/rteval.conf
index 0611c031c2a0..5a49040d980f 100644
--- a/rteval/rteval.conf
+++ b/rteval/rteval.conf
@@ -18,7 +18,7 @@ dbench: external
stressng: module
[kcompile]
-source: linux-6.10.5.xz
+source: linux-6.12-rc4.tar.gz
jobspercore: 2
[hackbench]
--
2.46.2

View File

@ -1,10 +1,10 @@
From 0e6fa19365330937d54132a3077d5d9961877546 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Sun, 18 Aug 2024 12:10:55 -0400
Subject: [PATCH 2/3] rteval: Upgrade load kernel to linux-6.10.5-rteval
Subject: [PATCH 20/23] rteval: Upgrade load kernel to linux-6.10.5
The older kernel fails to compile on newer tool chains, so upgrade
the kernel that kcompile compiles as a load to linux-6.10.5-rteval
the kernel that kcompile compiles as a load to linux-6.10.5
Signed-off-by: John Kacur <jkacur@redhat.com>
---
@ -23,7 +23,7 @@ index 45f6434777d4..f3ee516b57d5 100644
FROM centos:stream9
-ARG KERNEL_VERSION=linux-6.6.1.tar.xz
+ARG KERNEL_VERSION=linux-6.10.5-rteval.tar.xz
+ARG KERNEL_VERSION=linux-6.10.5.tar.xz
# Copy current directory to /opt/rteval/
@ -36,7 +36,7 @@ index d9a6b9f116ac..e1a2bbba0373 100644
LOADDIR := loadsource
-KLOAD := $(LOADDIR)/linux-6.6.1.tar.xz
+KLOAD := $(LOADDIR)/linux-6.10.5-rteval.tar.xz
+KLOAD := $(LOADDIR)/linux-6.10.5.tar.xz
BLOAD := $(LOADDIR)/dbench-4.0.tar.gz
LOADS := $(KLOAD) $(BLOAD)
@ -49,7 +49,7 @@ index f7a9c0084805..80106812af0a 100644
nonisolated_cpulist = cpulist_utils.nonisolated_cpulist
-DEFAULT_KERNEL_PREFIX = "linux-6.6"
+DEFAULT_KERNEL_PREFIX = "linux-6.10.5-rteval"
+DEFAULT_KERNEL_PREFIX = "linux-6.10.5"
class KBuildJob:
'''Class to manage a build job bound to a particular node'''
@ -58,7 +58,7 @@ index f7a9c0084805..80106812af0a 100644
def ModuleParameters():
return {"source": {"descr": "Source tar ball",
- "default": "linux-6.6.1.tar.xz",
+ "default": "linux-6.10.5-rteval.tar.xz",
+ "default": "linux-6.10.5.tar.xz",
"metavar": "TARBALL"},
"jobspercore": {"descr": "Number of working threads per core",
"default": 2,
@ -71,10 +71,10 @@ index a4aad33e264f..0611c031c2a0 100644
[kcompile]
-source: linux-6.6.1.xz
+source: linux-6.10.5-rteval.xz
+source: linux-6.10.5.xz
jobspercore: 2
[hackbench]
--
2.46.0
2.46.2

View File

@ -0,0 +1,31 @@
From 1b1d950e9a13914d1e7c158453c7bcd6e0bd4d22 Mon Sep 17 00:00:00 2001
From: Anubhav Shelat <ashelat@redhat.com>
Date: Tue, 9 Jul 2024 10:25:16 -0400
Subject: [PATCH 07/23] rteval: fixed manpage to include stress-ng header
Previously the manpage stress-ng options were listed with cyclictest options.
This patch puts them in a STRESS-NG section to more closely mirror
rteval help
Signed-off-by: Anubhav Shelat <ashelat@redhat.com>
- Rewrote the commit message a bit.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
doc/rteval.8 | 1 +
1 file changed, 1 insertion(+)
diff --git a/doc/rteval.8 b/doc/rteval.8
index bfdeb9d36d9e..9e2b377752e5 100644
--- a/doc/rteval.8
+++ b/doc/rteval.8
@@ -138,6 +138,7 @@ Send a break trace command if latency exceeds the given number of microseconds.
.TP
.B \-\-cyclictest-threshold=USEC
Exit rteval if latency exceeds the given number of microseconds.
+.SH STRESS-NG OPTIONS
.TP
.B \-\-stressng-option=OPTION
Pass in command line options for the stress-ng package.
--
2.46.2

View File

@ -1,6 +1,6 @@
Name: rteval
Version: 3.8
Release: 11%{?dist}
Release: 12%{?dist}
Summary: Utility to evaluate system suitability for RT Linux
Group: Development/Tools
@ -40,20 +40,23 @@ Patch3: rteval-timerlat-Add-timerlat-tracing-to-rteval.patch
Patch4: rteval-sysstat-Convert-base64-data-to-text-before-wr.patch
Patch5: rteval-Fix-sysreport-traceback-when-utility-sos-not-.patch
Patch6: rteval-timerlat-tracing-clean-up.patch
Patch7: rteval-measurement-Remove-ModuleInfo.patch
Patch8: rteval-Remove-MeasurementProfile.patch
Patch9: rteval-RtEvalModules-Remove-unused-methods.patch
Patch10: rteval-Enforce-only-one-latency-measurement-module-a.patch
Patch11: rteval-Add-noload-option.patch
Patch12: rteval-Fix-default-measurement-config.patch
Patch13: rteval-measurement-Change-latency-flag-to-latency_te.patch
Patch14: rteval-Added-functionality-to-allow-user-to-set-the-.patch
Patch15: rteval-run-cyclictest-using-default-system-when-sett.patch
Patch16: rteval-Add-module-for-tuned-state.patch
Patch17: rteval-Add-tuned-state-to-rteval-text-report.patch
Patch18: rteval-restore-all-load-module-options.patch
Patch19: rteval-Upgrade-load-kernel-to-linux-6.10.5.patch
Patch20: rteval-Fix-parsing-in-kcompile-of-the-kernel-to-comp.patch
Patch7: rteval-fixed-manpage-to-include-stress-ng-header.patch
Patch8: rteval-measurement-Remove-ModuleInfo.patch
Patch9: rteval-Remove-MeasurementProfile.patch
Patch10: rteval-RtEvalModules-Remove-unused-methods.patch
Patch11: rteval-Enforce-only-one-latency-measurement-module-a.patch
Patch12: rteval-Add-noload-option.patch
Patch13: rteval-Fix-default-measurement-config.patch
Patch14: rteval-measurement-Change-latency-flag-to-latency_te.patch
Patch15: rteval-Added-functionality-to-allow-user-to-set-the-.patch
Patch16: rteval-run-cyclictest-using-default-system-when-sett.patch
Patch17: rteval-Add-module-for-tuned-state.patch
Patch18: rteval-Add-tuned-state-to-rteval-text-report.patch
Patch19: rteval-restore-all-load-module-options.patch
Patch20: rteval-Upgrade-load-kernel-to-linux-6.10.5.patch
Patch21: rteval-Fix-parsing-in-kcompile-of-the-kernel-to-comp.patch
Patch22: rteval-Change-constant-name-to-uppercase.patch
Patch23: rteval-Update-the-kcompile-kernel-to-linux-6.12-rc4.patch
%description
The rteval script is a utility for measuring various aspects of
@ -86,6 +89,12 @@ to the screen.
%{_bindir}/rteval
%changelog
* Thu Oct 24 2024 John Kacur <jkacur@redhat.com> - 3.8.12
- Add patch to put stress-ng options in their own manpage section
- Change constant name earlystop TO EARLYSTOP
- Update the kcompile kernel to linux-6.12-rc4
Resolves: RHEL-63611
* Mon Aug 19 2024 John Kacur <jkacur@redhat.com> - 3.8-11
- Restore all load module options
- Change the default kernel to linux-6.10.5-rteval

View File

@ -1 +1 @@
SHA512 (rteval-3.8.tar.xz) = 25426b8f05d517b8b418975ff50bbc18ed406d3945eb0167af8e61687c872044a4fcfe39817f103bd4e2f4490c4613e64bfe28006c360698b039fbb10f1784c0
SHA512 (linux-6.12-rc4.tar.gz) = 8cfdf21c054071ec56643bda00b0d39a74846e41bec3f98c6197c7772b653d03dd293282d4dce2fec4fa9ce4369e5d438386c2654c55310e823d54687f4fe188