import rteval-3.4-1.el9

This commit is contained in:
CentOS Sources 2022-11-15 01:24:58 -05:00 committed by Stepan Oksanichenko
parent f954b045d0
commit 763b2a9687
9 changed files with 23 additions and 285 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/rteval-3.3.tar.xz
SOURCES/rteval-3.4.tar.xz

View File

@ -1 +1 @@
557793c55592bfb3dc0e858274895af4347a2fe9 SOURCES/rteval-3.3.tar.xz
0e04e697615aff39a95dfd864c6bf504bf0ac7c4 SOURCES/rteval-3.4.tar.xz

View File

@ -1,51 +0,0 @@
From 75667f4b92e3120bced7ae5464d97941edffd802 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 7 Feb 2022 16:09:13 -0500
Subject: [PATCH] rteval: Don't restrict measurement threads to inherited
cpumask
This patch reverses be811d28a471cfcaf7960289e00960e7f5b18f03
This patch syncs rteval to 795433f50f20ef7598db5cfe991b5386e4080d41 in
rt-tests
If the user does not specify a cpumask, rteval will still run on the
cpus according to the cpumask inherited from the runtime environment.
However, if the user specifies a cpumask, then it will overwrite the
runtime environment where allowed.
This will allow the user to run measurement threads on isolated cpus.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/modules/measurement/cyclictest.py | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
index 5330d1466302..4ca310bf7490 100644
--- a/rteval/modules/measurement/cyclictest.py
+++ b/rteval/modules/measurement/cyclictest.py
@@ -217,19 +217,9 @@ class Cyclictest(rtevalModulePrototype):
else:
self.__cpus = online_cpus()
- # Sort the list of cpus to align with the order reported by
- # cyclictest
+ # Sort the list of cpus to align with the order reported by cyclictest
self.__cpus.sort(key=int)
- # Get the cpuset from the environment
- cpuset = os.sched_getaffinity(0)
-
- # Convert the elements to strings
- cpuset = [str(c) for c in cpuset]
-
- # Only include cpus that are in the cpuset
- self.__cpus = [c for c in self.__cpus if c in cpuset]
-
self.__numcores = len(self.__cpus)
info = cpuinfo()
--
2.34.1

View File

@ -1,53 +0,0 @@
From cb8b42e3328f9a06b5a18dda64969f16196b9190 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Tue, 18 Jan 2022 15:03:36 -0500
Subject: [PATCH 1/2] rteval: Fix Popen for python3.6 where text=True is not
available
Fix using text=True in Popen for python-3.6 by using
encoding='utf-8' instead
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/sysinfo/services.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/rteval/sysinfo/services.py b/rteval/sysinfo/services.py
index e5de22efc342..c85980e19165 100644
--- a/rteval/sysinfo/services.py
+++ b/rteval/sysinfo/services.py
@@ -62,11 +62,11 @@ class SystemServices:
if not [1 for p in reject if fnmatch.fnmatch(servicename, p)] \
and os.access(service, os.X_OK):
cmd = '%s -qs "\(^\|\W\)status)" %s' % (getcmdpath('grep'), service)
- c = subprocess.Popen(cmd, shell=True, text=True)
+ c = subprocess.Popen(cmd, shell=True, encoding='utf-8')
c.wait()
if c.returncode == 0:
cmd = ['env', '-i', 'LANG="%s"' % os.environ['LANG'], 'PATH="%s"' % os.environ['PATH'], 'TERM="%s"' % os.environ['TERM'], service, 'status']
- c = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
+ c = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='utf-8')
c.wait()
if c.returncode == 0 and (c.stdout.read() or c.stderr.read()):
ret_services[servicename] = 'running'
@@ -81,7 +81,7 @@ class SystemServices:
ret_services = {}
cmd = '%s list-unit-files -t service --no-legend' % getcmdpath('systemctl')
self.__log(Log.DEBUG, "cmd: %s" % cmd)
- c = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
+ c = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, encoding='utf-8')
for p in c.stdout:
# p are lines like b'servicename.service status'
v = p.strip().split()
@@ -91,7 +91,7 @@ class SystemServices:
def services_get(self):
cmd = [getcmdpath('ps'), '-ocomm=', '1']
- c = subprocess.Popen(cmd, stdout=subprocess.PIPE, text=True)
+ c = subprocess.Popen(cmd, stdout=subprocess.PIPE, encoding='utf-8')
self.__init = c.stdout.read().strip()
if self.__init == 'systemd':
self.__log(Log.DEBUG, "Using systemd to get services status")
--
2.35.1

View File

@ -1,31 +0,0 @@
From 5931ace285305edbf8c86508f89869c5f3be0bf0 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Wed, 9 Mar 2022 14:03:10 -0500
Subject: [PATCH 2/2] rteval: Fix allmodconfig build on machines that don't
allow sha1 signing
rteval compiles the kernel using allmodconfig as a load.
This can be a problem if sha1 signing of modules is disabled.
Fix this by signing with sha512
Suggested-by: Juri Lelli <juri.lelli@redhat.com>
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/modules/loads/kcompile.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/rteval/modules/loads/kcompile.py b/rteval/modules/loads/kcompile.py
index 8f97d38eca56..367f8dc1ca86 100644
--- a/rteval/modules/loads/kcompile.py
+++ b/rteval/modules/loads/kcompile.py
@@ -66,6 +66,7 @@ class KBuildJob:
self.runcmd = f"make O={self.objdir} -C {self.kdir} -j{self.jobs}"
self.cleancmd = f"make O={self.objdir} -C {self.kdir} clean allmodconfig"
+ self.cleancmd += f"&& pushd {self.objdir} && {self.kdir}/scripts/config -d CONFIG_MODULE_SIG_SHA1 -e CONFIG_MODULE_SIG_SHA512 && popd && make O={self.objdir} -C {self.kdir} olddefconfig"
if self.binder:
self.runcmd = self.binder + " " + self.runcmd
self.cleancmd = self.binder + " " + self.cleancmd
--
2.35.1

View File

@ -1,32 +0,0 @@
From aca562064a8d9f5927aa39bc108eac3bf4d0a56b Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Fri, 14 Jan 2022 14:00:54 -0500
Subject: [PATCH] rteval: Fix test misses threshold assignment
Fix case where self.__cfg.threshold has a value but
instead of 'threshold' in self.__cfg,
'breaktrace' in self.__cfg.
by just checking whether self.__cfg.threshold has a value
if self._cfg.breaktrace does not have a value
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/modules/measurement/cyclictest.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
index cc74b467913d..af8adeeeb402 100644
--- a/rteval/modules/measurement/cyclictest.py
+++ b/rteval/modules/measurement/cyclictest.py
@@ -299,7 +299,7 @@ class Cyclictest(rtevalModulePrototype):
if 'breaktrace' in self.__cfg and self.__cfg.breaktrace:
self.__cmd.append("-b%d" % int(self.__cfg.breaktrace))
self.__cmd.append("--tracemark")
- elif 'threshold' in self.__cfg and self.__cfg.threshold:
+ elif self.__cfg.threshold:
self.__cmd.append("-b%d" % int(self.__cfg.threshold))
# Buffer for cyclictest data written to stdout
--
2.31.1

View File

@ -1,34 +0,0 @@
From 14b0cff41f13602579fd708748eb8a2ad93db85b Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 14 Feb 2022 22:09:21 -0500
Subject: [PATCH] rteval: If the user doesn't specify a cpumask, use the
inherited one
If the user doesn't specify a cpumask, then we need to use the inherited
one to match what cyclictest currently does
Signed-off-by: John Kacur <jkacur@redhat.com>
---
rteval/modules/measurement/cyclictest.py | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
index 4ca310bf7490..8fdd5341794a 100644
--- a/rteval/modules/measurement/cyclictest.py
+++ b/rteval/modules/measurement/cyclictest.py
@@ -216,6 +216,12 @@ class Cyclictest(rtevalModulePrototype):
self.__sparse = True
else:
self.__cpus = online_cpus()
+ # Get the cpuset from the environment
+ cpuset = os.sched_getaffinity(0)
+ # Convert the elements to strings
+ cpuset = [str(c) for c in cpuset]
+ # Only include cpus that are in the cpuset
+ self.__cpus = [c for c in self.__cpus if c in cpuset]
# Sort the list of cpus to align with the order reported by cyclictest
self.__cpus.sort(key=int)
--
2.34.1

View File

@ -1,60 +0,0 @@
From 9dff629f186313beebb96594d236dd9268bef1b1 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Wed, 26 Jan 2022 10:06:33 -0500
Subject: [PATCH] rteval: Increase default buckets from 2000 to 3500
Increase the default buckets from 2000 to 3500
With commit 0292c8963611 we skip statistics reporting if we run out of
buckets. Increase the default number of buckets to make this less likely
to occur.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
doc/rteval.8 | 2 +-
rteval/modules/measurement/cyclictest.py | 2 +-
rteval/rteval.conf | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/rteval.8 b/doc/rteval.8
index fa24509ce7e5..25dcfcc298e7 100644
--- a/doc/rteval.8
+++ b/doc/rteval.8
@@ -122,7 +122,7 @@ Measurement thread interval in microseconds (default: 100)
Interval increment in microseconds (default: 0)
.TP
.B \-\-cyclictest-buckets=NBUCKETS
-Number of 1 microsecond histogram buckets (default: 2000)
+Number of 1 microsecond histogram buckets (default: 3500)
.TP
.B \-\-hackbench-jobspercore=N
Number of jobs per online-core for hackbench load
diff --git a/rteval/modules/measurement/cyclictest.py b/rteval/modules/measurement/cyclictest.py
index af8adeeeb402..5330d1466302 100644
--- a/rteval/modules/measurement/cyclictest.py
+++ b/rteval/modules/measurement/cyclictest.py
@@ -450,7 +450,7 @@ def ModuleParameters():
"default": 100,
"metavar": "INTV_US"},
"buckets": {"descr": "Histogram width",
- "default": 2000,
+ "default": 3500,
"metavar": "NUM"},
"priority": {"descr": "Run cyclictest with the given priority",
"default": 95,
diff --git a/rteval/rteval.conf b/rteval/rteval.conf
index 7ce6ef0b5acc..aa0a53bcfc63 100644
--- a/rteval/rteval.conf
+++ b/rteval/rteval.conf
@@ -6,7 +6,7 @@ duration: 60.0
report_interval: 600
[cyclictest]
-buckets: 2000
+buckets: 3500
interval: 100
distance: 0
priority: 95
--
2.34.1

View File

@ -1,6 +1,6 @@
Name: rteval
Version: 3.3
Release: 4%{?dist}
Version: 3.4
Release: 1%{?dist}
Summary: Utility to evaluate system suitability for RT Linux
Group: Development/Tools
@ -14,7 +14,7 @@ Requires: python3-ethtool
Requires: python3-lxml
Requires: python3-dmidecode >= 3.10
Requires: realtime-tests >= 2.1-1
Requires: rteval-loads >= 1.4-14
Requires: rteval-loads >= 1.6-1
Requires: sysstat
Requires: xz bzip2 tar gzip m4 make gawk
Requires: kernel-headers
@ -29,12 +29,6 @@ Requires: libmpc, libmpc-devel
BuildArch: noarch
#Patches
Patch1: rteval-Fix-test-misses-threshold-assignment.patch
Patch2: rteval-Increase-default-buckets-from-2000-to-3500.patch
Patch3: rteval-Don-t-restrict-measurement-threads-to-inherit.patch
Patch4: rteval-If-the-user-doesn-t-specify-a-cpumask-use-the.patch
Patch5: rteval-Fix-Popen-for-python3.6-where-text-True-is-no.patch
Patch6: rteval-Fix-allmodconfig-build-on-machines-that-don-t.patch
%description
The rteval script is a utility for measuring various aspects of
@ -47,12 +41,6 @@ to the screen.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
%{__python3} setup.py build
@ -60,9 +48,6 @@ to the screen.
%install
%{__python3} setup.py install --root=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%{python3_sitelib}/*.egg-info
@ -76,13 +61,27 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/%{name}/rteval_*.xsl
%{_bindir}/rteval
%{python3_sitelib}/rteval/__pycache__/*
%changelog
* Thu Mar 10 2022 John Kacur <jkacur@redhat.com> - 3.3-4
* Tue Jun 28 2022 John Kacur <jkacur@redhat.com> - 3.4-1
- Rebase to rteval-3.4 upstream
Resolves: rhbz#2069358
* Wed Jun 22 2022 John Kacur <jkacur@redhat.com> - 3.3-7
- Add upstream kcompile patches
Resolves: rhbz#2093480
* Tue Jun 07 2022 John Kacur <jkacur@redhat.com> - 3.3-6
- Updates the Requires for rteval-loads with the correct kernel version
Resolves: rhbz#2093480
* Tue Jun 07 2022 John Kacur <jkacur@redhat.com> - 3.3-5
- Change the default kernel to compile to linux-5.18.1
Resolves: rhbz#2093480
* Thu Apr 14 2022 John Kacur <jkacur@redhat.com> - 3.3-4
- Fix Popen for python3.6
- Fix allmodconfig when SHA1 signing of modules is not available
Resolves: rhbz#2062457
Resolves: rhbz#2062829
* Tue Feb 15 2022 John Kacur <jkacur@redhat.com> - 3.3-3
- Use inherited cpumask if user doesn't specify a cpumask