From ab8e0a3c4a789571f8ff4762c5cde432dacff1da Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 12 Nov 2024 21:58:27 +0300 Subject: [PATCH] import rteval-3.8-13.el10 --- ...al-Change-constant-name-to-uppercase.patch | 83 +++++++++++++++++ ...he-kcompile-kernel-to-linux-6.12-rc4.patch | 88 +++++++++++++++++++ ...-Upgrade-load-kernel-to-linux-6.10.5.patch | 16 ++-- ...-manpage-to-include-stress-ng-header.patch | 31 +++++++ SPECS/rteval.spec | 45 ++++++---- 5 files changed, 239 insertions(+), 24 deletions(-) create mode 100644 SOURCES/rteval-Change-constant-name-to-uppercase.patch create mode 100644 SOURCES/rteval-Update-the-kcompile-kernel-to-linux-6.12-rc4.patch create mode 100644 SOURCES/rteval-fixed-manpage-to-include-stress-ng-header.patch diff --git a/SOURCES/rteval-Change-constant-name-to-uppercase.patch b/SOURCES/rteval-Change-constant-name-to-uppercase.patch new file mode 100644 index 0000000..b672fa8 --- /dev/null +++ b/SOURCES/rteval-Change-constant-name-to-uppercase.patch @@ -0,0 +1,83 @@ +From d6c6966026eb640d545ef7b5792c532b31a9f796 Mon Sep 17 00:00:00 2001 +From: John Kacur +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 +--- + 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 + diff --git a/SOURCES/rteval-Update-the-kcompile-kernel-to-linux-6.12-rc4.patch b/SOURCES/rteval-Update-the-kcompile-kernel-to-linux-6.12-rc4.patch new file mode 100644 index 0000000..a946885 --- /dev/null +++ b/SOURCES/rteval-Update-the-kcompile-kernel-to-linux-6.12-rc4.patch @@ -0,0 +1,88 @@ +From d7dc1a05dd60c0fe2ab3edaaea3786a8be592ade Mon Sep 17 00:00:00 2001 +From: John Kacur +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 +--- + 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 + diff --git a/SOURCES/rteval-Upgrade-load-kernel-to-linux-6.10.5.patch b/SOURCES/rteval-Upgrade-load-kernel-to-linux-6.10.5.patch index 64273f3..2e12157 100644 --- a/SOURCES/rteval-Upgrade-load-kernel-to-linux-6.10.5.patch +++ b/SOURCES/rteval-Upgrade-load-kernel-to-linux-6.10.5.patch @@ -1,10 +1,10 @@ From 0e6fa19365330937d54132a3077d5d9961877546 Mon Sep 17 00:00:00 2001 From: John Kacur 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 --- @@ -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 diff --git a/SOURCES/rteval-fixed-manpage-to-include-stress-ng-header.patch b/SOURCES/rteval-fixed-manpage-to-include-stress-ng-header.patch new file mode 100644 index 0000000..205e793 --- /dev/null +++ b/SOURCES/rteval-fixed-manpage-to-include-stress-ng-header.patch @@ -0,0 +1,31 @@ +From 1b1d950e9a13914d1e7c158453c7bcd6e0bd4d22 Mon Sep 17 00:00:00 2001 +From: Anubhav Shelat +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 +- Rewrote the commit message a bit. +Signed-off-by: John Kacur +--- + 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 + diff --git a/SPECS/rteval.spec b/SPECS/rteval.spec index d0521d7..f18b9d5 100644 --- a/SPECS/rteval.spec +++ b/SPECS/rteval.spec @@ -1,6 +1,6 @@ Name: rteval Version: 3.8 -Release: 11%{?dist} +Release: 13%{?dist} Summary: Utility to evaluate system suitability for RT Linux Group: Development/Tools @@ -14,7 +14,7 @@ BuildRequires: python3-setuptools Requires: python3-lxml Requires: python3-libxml2 Requires: realtime-tests -Requires: rteval-loads >= 1.6-12 +Requires: rteval-loads >= 1.6-13 Requires: sysstat Requires: xz bzip2 tar gzip m4 gawk Requires: kernel-headers @@ -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,16 @@ to the screen. %{_bindir}/rteval %changelog +* Tue Oct 29 2024 Troy Dawson - 3.8-13 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Thu Oct 24 2024 John Kacur - 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 - 3.8-11 - Restore all load module options - Change the default kernel to linux-6.10.5-rteval