Rebase to upstream rteval-3.10
Resolves: RHEL-82914, RHEL-111000, RHEL-114928 Signed-off-by: John Kacur <jkacur@redhat.com>
This commit is contained in:
parent
00019d8e9b
commit
4d09d99ca3
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@
|
||||
/rteval-3.7.tar.xz
|
||||
/rteval-3.8.tar.xz
|
||||
/rteval-3.9.tar.xz
|
||||
/rteval-3.10.tar.xz
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
From 950b6dd5d7812d101bf30ac0b4c94bedcc2a9d23 Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Fri, 7 Feb 2025 14:36:17 -0500
|
||||
Subject: [PATCH 2/2] rteval: Change default measurement module to cyclictest
|
||||
|
||||
Change the default measurement module in rteval to cyclictest
|
||||
until we can fix a hang in rtla timerlat hist
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval-cmd | 2 +-
|
||||
rteval.conf | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/rteval-cmd b/rteval-cmd
|
||||
index 9875903c0107..4e13d312a24a 100755
|
||||
--- a/rteval-cmd
|
||||
+++ b/rteval-cmd
|
||||
@@ -250,7 +250,7 @@ if __name__ == '__main__':
|
||||
|
||||
if not config.HasSection('measurement'):
|
||||
config.AppendConfig('measurement', {
|
||||
- 'timerlat' : 'module',
|
||||
+ 'cyclictest' : 'module',
|
||||
'sysstat' : 'module'})
|
||||
|
||||
# Prepare log levels before loading modules, not to have unwanted log messages
|
||||
diff --git a/rteval.conf b/rteval.conf
|
||||
index 46a9b1743716..601410b51c28 100644
|
||||
--- a/rteval.conf
|
||||
+++ b/rteval.conf
|
||||
@@ -6,8 +6,8 @@ duration: 60.0
|
||||
report_interval: 600
|
||||
|
||||
[measurement]
|
||||
-# cyclictest: module
|
||||
-timerlat: module
|
||||
+cyclictest: module
|
||||
+# timerlat: module
|
||||
|
||||
[loads]
|
||||
kcompile: module
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
From 686fefa1e63da70b0c3e4da9ea816e334fef1782 Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Fri, 7 Feb 2025 14:31:14 -0500
|
||||
Subject: [PATCH 1/2] rteval: Change the default interval for timerlat to
|
||||
1100us
|
||||
|
||||
Change the default interval for timerlat in rteval to 1100us to make it less
|
||||
likely to encounter a hang in rtla timerlat hist, until we have a better
|
||||
solution.
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval/modules/measurement/timerlat.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/rteval/modules/measurement/timerlat.py b/rteval/modules/measurement/timerlat.py
|
||||
index 5bfc495217ea..fe29f34bccbd 100644
|
||||
--- a/rteval/modules/measurement/timerlat.py
|
||||
+++ b/rteval/modules/measurement/timerlat.py
|
||||
@@ -509,7 +509,7 @@ class Timerlat(rtevalModulePrototype):
|
||||
def ModuleParameters():
|
||||
""" default parameters """
|
||||
return {"interval": {"descr": "Base interval or period of threads in microseconds",
|
||||
- "default": 100,
|
||||
+ "default": 1100,
|
||||
"metavar": "INTV_US"},
|
||||
"priority": {"descr": "Run rtla timerlat with this priority",
|
||||
"default": 95,
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@ -1,91 +0,0 @@
|
||||
From 5edb31a58bea3c2433e817439e053b79221a06df Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Fri, 13 Dec 2024 15:07:09 -0500
|
||||
Subject: [PATCH] rteval: Fix missing statistics for system with timerlat
|
||||
|
||||
Fix missing statistics for the system with timerlat by fixing the test
|
||||
in rteval_test.xsl for stoptrace_invoked
|
||||
|
||||
In addition
|
||||
- Add --no-summary to the rtla command line
|
||||
- Parse out "ALL:" for good measure although this should be surpressed
|
||||
with the --no-summary command line option.
|
||||
- timerlat reports stop tracing when receiving a SIGINT, so also check
|
||||
whether the maximum value is greater than the --timerlat-stoptrace value
|
||||
|
||||
Tested the following scenarios.
|
||||
- timerlat-stoptrace USEC is NOT used
|
||||
- timerlat-stoptrace USEC is used AND the max value recorded is greater
|
||||
than the value to trigger stop tracing
|
||||
- timerlat-stoptrace USEC is used AND the max value recorded is not
|
||||
greater than the value to trigger stop tracing
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval/modules/measurement/timerlat.py | 14 +++++++++++---
|
||||
rteval/rteval_text.xsl | 2 +-
|
||||
2 files changed, 12 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/rteval/modules/measurement/timerlat.py b/rteval/modules/measurement/timerlat.py
|
||||
index 3fcdb5ff2819..5bfc495217ea 100644
|
||||
--- a/rteval/modules/measurement/timerlat.py
|
||||
+++ b/rteval/modules/measurement/timerlat.py
|
||||
@@ -230,6 +230,7 @@ class Timerlat(rtevalModulePrototype):
|
||||
self.__cmd = ['rtla', 'timerlat', 'hist', self.__interval, '-P', f'f:{int(self.__priority)}', '-u']
|
||||
self.__cmd.append(f'-c{self.__cpulist}')
|
||||
self.__cmd.append(f'-E{self.__buckets}')
|
||||
+ self.__cmd.append('--no-summary')
|
||||
|
||||
if self.__cfg.stoptrace:
|
||||
self.__cmd.append(f"-T{int(self.__cfg.stoptrace)}")
|
||||
@@ -392,6 +393,10 @@ class Timerlat(rtevalModulePrototype):
|
||||
self.__stoptrace = True
|
||||
self.__posttrace += line
|
||||
continue
|
||||
+ elif line.startswith('ALL:'):
|
||||
+ # We should only see 'ALL:' without timerlat --no-summary
|
||||
+ # print(line)
|
||||
+ continue
|
||||
else:
|
||||
#print(line)
|
||||
pass
|
||||
@@ -424,17 +429,20 @@ class Timerlat(rtevalModulePrototype):
|
||||
for n in list(self.__timerlatdata.keys()):
|
||||
self.__timerlatdata[n].reduce()
|
||||
|
||||
- self.__timerlat_out.close()
|
||||
-
|
||||
self._setFinished()
|
||||
self.__started = False
|
||||
|
||||
+ self.__timerlat_err.close()
|
||||
+ self.__timerlat_out.close()
|
||||
+
|
||||
def MakeReport(self):
|
||||
rep_n = libxml2.newNode('timerlat')
|
||||
rep_n.newProp('command_line', ' '.join(self.__cmd))
|
||||
|
||||
+ max_val = self.__timerlatdata['system'].max
|
||||
+
|
||||
stoptrace_invoked_n = libxml2.newNode('stoptrace_invoked')
|
||||
- if self.stcpu != -1:
|
||||
+ if self.stcpu != -1 and max_val > int(self.__cfg.stoptrace):
|
||||
stoptrace_invoked_n.newProp("invoked", "true")
|
||||
else:
|
||||
stoptrace_invoked_n.newProp("invoked", "")
|
||||
diff --git a/rteval/rteval_text.xsl b/rteval/rteval_text.xsl
|
||||
index 70f3e0fd4b1c..146302744f58 100644
|
||||
--- a/rteval/rteval_text.xsl
|
||||
+++ b/rteval/rteval_text.xsl
|
||||
@@ -342,7 +342,7 @@
|
||||
</xsl:if>
|
||||
|
||||
<!-- If stoptrace_invoked is true, no Statistics are available -->
|
||||
- <xsl:if test="stoptrace_invoked != true">
|
||||
+ <xsl:if test="stoptrace_invoked != 'true'">
|
||||
<xsl:text> Statistics: </xsl:text>
|
||||
<xsl:apply-templates select="system/statistics"/>
|
||||
</xsl:if>
|
||||
--
|
||||
2.47.1
|
||||
|
||||
@ -1,45 +0,0 @@
|
||||
From 23636bde2236f5d28ce8b10c7b28a880a3e9a2d9 Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Wed, 18 Jun 2025 14:21:54 -0400
|
||||
Subject: [PATCH 2/2] rteval: Make timerlat the default for rteval
|
||||
|
||||
Return timerlat to be the default measurement module for rteval
|
||||
Also make the default base interval 100us to match cyclictest
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval.conf | 4 ++--
|
||||
rteval/modules/measurement/timerlat.py | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/rteval.conf b/rteval.conf
|
||||
index 601410b51c28..46a9b1743716 100644
|
||||
--- a/rteval.conf
|
||||
+++ b/rteval.conf
|
||||
@@ -6,8 +6,8 @@ duration: 60.0
|
||||
report_interval: 600
|
||||
|
||||
[measurement]
|
||||
-cyclictest: module
|
||||
-# timerlat: module
|
||||
+# cyclictest: module
|
||||
+timerlat: module
|
||||
|
||||
[loads]
|
||||
kcompile: module
|
||||
diff --git a/rteval/modules/measurement/timerlat.py b/rteval/modules/measurement/timerlat.py
|
||||
index fe29f34bccbd..5bfc495217ea 100644
|
||||
--- a/rteval/modules/measurement/timerlat.py
|
||||
+++ b/rteval/modules/measurement/timerlat.py
|
||||
@@ -509,7 +509,7 @@ class Timerlat(rtevalModulePrototype):
|
||||
def ModuleParameters():
|
||||
""" default parameters """
|
||||
return {"interval": {"descr": "Base interval or period of threads in microseconds",
|
||||
- "default": 1100,
|
||||
+ "default": 100,
|
||||
"metavar": "INTV_US"},
|
||||
"priority": {"descr": "Run rtla timerlat with this priority",
|
||||
"default": 95,
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
From e874cc3f757bae50e74af461529179048c1eb4a7 Mon Sep 17 00:00:00 2001
|
||||
From: John Kacur <jkacur@redhat.com>
|
||||
Date: Wed, 4 Jun 2025 13:38:51 -0400
|
||||
Subject: [PATCH 1/2] rteval: services.py: Fix SyntaxWarning
|
||||
|
||||
In services.py we get a SyntaxWarning: invalid escape sequence '\('
|
||||
using python >= 3.12
|
||||
|
||||
Fix this by using a raw string.
|
||||
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval/sysinfo/services.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/rteval/sysinfo/services.py b/rteval/sysinfo/services.py
|
||||
index e98017804841..c3c155354e07 100644
|
||||
--- a/rteval/sysinfo/services.py
|
||||
+++ b/rteval/sysinfo/services.py
|
||||
@@ -42,7 +42,7 @@ class SystemServices:
|
||||
servicename = os.path.basename(service)
|
||||
if not [1 for p in reject if fnmatch.fnmatch(servicename, p)] \
|
||||
and os.access(service, os.X_OK):
|
||||
- cmd = f'{getcmdpath("grep")} -qs "\(^\|\W\)status)" {service}'
|
||||
+ cmd = fr'{getcmdpath("grep")} -qs "\(^\|\W\)status)" {service}'
|
||||
c = subprocess.Popen(cmd, shell=True, encoding='utf-8')
|
||||
c.wait()
|
||||
if c.returncode == 0:
|
||||
--
|
||||
2.49.0
|
||||
|
||||
13
rteval.spec
13
rteval.spec
@ -1,6 +1,6 @@
|
||||
Name: rteval
|
||||
Version: 3.9
|
||||
Release: 5%{?dist}
|
||||
Version: 3.10
|
||||
Release: 1%{?dist}
|
||||
Summary: Utility to evaluate system suitability for RT Linux
|
||||
|
||||
Group: Development/Tools
|
||||
@ -33,11 +33,6 @@ Requires: rtla
|
||||
BuildArch: noarch
|
||||
|
||||
#Patches
|
||||
Patch1: rteval-Fix-missing-statistics-for-system-with-timerl.patch
|
||||
Patch2: rteval-Change-the-default-interval-for-timerlat-to-1100us.patch
|
||||
Patch3: rteval-Change-default-measurement-module-to-cyclictest.patch
|
||||
Patch4: rteval-services.py-Fix-SyntaxWarning.patch
|
||||
Patch5: rteval-Make-timerlat-the-default-for-rteval.patch
|
||||
|
||||
%description
|
||||
The rteval script is a utility for measuring various aspects of
|
||||
@ -71,6 +66,10 @@ to the screen.
|
||||
%{_bindir}/rteval
|
||||
|
||||
%changelog
|
||||
* Wed Nov 19 2025 John Kacur <jkacur@redhat.com> - 3.10-1
|
||||
- Rebase to upstream rteval-3.10
|
||||
Resolves: RHEL-82914, RHEL-111000, RHEL-114928
|
||||
|
||||
* Thu Jun 19 2025 John Kacur <jkacur@redhat.com> - 3.9-5
|
||||
- Make timerlat the default measurement module
|
||||
- Make the default interval 100us
|
||||
|
||||
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (rteval-3.9.tar.xz) = 923fc11bdfa4c1f51ead0108184b7c2c708581a4b1adcdad168359cf916e85e9838adb1e65c923cead90e9644886c02bf663ab7ab14f3630d98cb2b67cddc541
|
||||
SHA512 (rteval-3.10.tar.xz) = 1e5d7ffc32c22e1a5a060c9d4621e12c919fea752bc21f51a9c4cc485284b21354ee6eb3d1b41af4d1377eae2648ede812b8f9a2670ad39c4e58810656b6e03a
|
||||
|
||||
Loading…
Reference in New Issue
Block a user