Add relative cpulists for loads
jiraProject== RHEL-25206 Signed-off-by: Tomas Glozar <tglozar@redhat.com>
This commit is contained in:
parent
403fe3b32a
commit
6d0cbf7a80
70
rteval-Add-relative-cpulists-for-loads.patch
Normal file
70
rteval-Add-relative-cpulists-for-loads.patch
Normal file
@ -0,0 +1,70 @@
|
||||
From 636701e66cb98b979948b7a47320809c734e2a9e Mon Sep 17 00:00:00 2001
|
||||
From: Tomas Glozar <tglozar@redhat.com>
|
||||
Date: Thu, 4 Apr 2024 10:14:38 +0200
|
||||
Subject: [PATCH] rteval: Add relative cpulists for loads
|
||||
|
||||
Relative cpulists were added for measurements in 64ce7848 ("rteval: Add
|
||||
relative cpulists for measurements"). It was observed since that this
|
||||
feature would also be useful for load cpulists, for example when the
|
||||
measurements are performed externally and rteval is only used to run
|
||||
loads.
|
||||
|
||||
Add support for relative cpulists also for loads. This works the same
|
||||
way as for measurements using parse_cpulist_from_config, only difference
|
||||
is there is no --loads-run-on-isolcpus option. That is, --loads-cpulist
|
||||
now also takes lists with addition (+) and removal (-) of CPUs against
|
||||
the default list, e.g. +0,1,-7,8.
|
||||
|
||||
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
|
||||
Signed-off-by: John Kacur <jkacur@redhat.com>
|
||||
---
|
||||
rteval-cmd | 17 ++++++++++-------
|
||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/rteval-cmd b/rteval-cmd
|
||||
index ed13af3..c72bc61 100755
|
||||
--- a/rteval-cmd
|
||||
+++ b/rteval-cmd
|
||||
@@ -331,29 +331,32 @@ if __name__ == '__main__':
|
||||
|
||||
ldcfg = config.GetSection('loads')
|
||||
msrcfg = config.GetSection('measurement')
|
||||
+ # Remember if cpulists were explicitly set by the user before running
|
||||
+ # parse_cpulist_from_config, which generates default value for them
|
||||
msrcfg_cpulist_present = msrcfg.cpulist != ""
|
||||
- # Parse measurement cpulist using parse_cpulist_from_config to account for run-on-isolcpus
|
||||
- # and relative cpusets
|
||||
+ ldcfg_cpulist_present = ldcfg.cpulist != ""
|
||||
+ # Parse cpulists using parse_cpulist_from_config to account for
|
||||
+ # run-on-isolcpus and relative cpusets
|
||||
cpulist = parse_cpulist_from_config(msrcfg.cpulist, msrcfg.run_on_isolcpus)
|
||||
if msrcfg_cpulist_present and not cpulist_utils.is_relative(msrcfg.cpulist) and msrcfg.run_on_isolcpus:
|
||||
logger.log(Log.WARN, "ignoring --measurement-run-on-isolcpus, since cpulist is specified")
|
||||
msrcfg.cpulist = collapse_cpulist(cpulist)
|
||||
- if ldcfg.cpulist:
|
||||
- ldcfg.cpulist = remove_offline(ldcfg.cpulist)
|
||||
+ cpulist = parse_cpulist_from_config(ldcfg.cpulist)
|
||||
+ ldcfg.cpulist = collapse_cpulist(cpulist)
|
||||
# if we only specified one set of cpus (loads or measurement)
|
||||
# default the other to the inverse of the specified list
|
||||
- if not ldcfg.cpulist and msrcfg_cpulist_present:
|
||||
+ if not ldcfg_cpulist_present and msrcfg_cpulist_present:
|
||||
tmplist = expand_cpulist(msrcfg.cpulist)
|
||||
tmplist = SysTopology().invert_cpulist(tmplist)
|
||||
tmplist = cpulist_utils.online_cpulist(tmplist)
|
||||
ldcfg.cpulist = collapse_cpulist(tmplist)
|
||||
- if not msrcfg_cpulist_present and ldcfg.cpulist:
|
||||
+ if not msrcfg_cpulist_present and ldcfg_cpulist_present:
|
||||
tmplist = expand_cpulist(ldcfg.cpulist)
|
||||
tmplist = SysTopology().invert_cpulist(tmplist)
|
||||
tmplist = cpulist_utils.online_cpulist(tmplist)
|
||||
msrcfg.cpulist = collapse_cpulist(tmplist)
|
||||
|
||||
- if ldcfg.cpulist:
|
||||
+ if ldcfg_cpulist_present:
|
||||
logger.log(Log.DEBUG, f"loads cpulist: {ldcfg.cpulist}")
|
||||
# if --onlyload is specified msrcfg.cpulist is unused
|
||||
if msrcfg_cpulist_present and not rtevcfg.onlyload:
|
||||
--
|
||||
2.44.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
Name: rteval
|
||||
Version: 3.7
|
||||
Release: 10%{?dist}
|
||||
Release: 11%{?dist}
|
||||
Summary: Utility to evaluate system suitability for RT Linux
|
||||
|
||||
Group: Development/Tools
|
||||
@ -41,6 +41,7 @@ Patch6: rteval-Minor-improvements-to-CpuList-class.patch
|
||||
Patch7: rteval-Convert-CpuList-class-to-a-module.patch
|
||||
Patch8: rteval-Add-relative-cpulists-for-measurements.patch
|
||||
Patch9: rteval-Implement-initial-dmidecode-support.patch
|
||||
Patch10: rteval-Add-relative-cpulists-for-loads.patch
|
||||
|
||||
%description
|
||||
The rteval script is a utility for measuring various aspects of
|
||||
@ -62,6 +63,7 @@ to the screen.
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
|
||||
%build
|
||||
%{__python3} setup.py build
|
||||
@ -83,6 +85,10 @@ to the screen.
|
||||
%{_bindir}/rteval
|
||||
|
||||
%changelog
|
||||
* Wed Apr 10 2024 Tomas Glozar <tglozar@redhat.com> - 3.7-11
|
||||
- Add relative cpulists for loads
|
||||
Resolves: RHEL-25206
|
||||
|
||||
* Tue Apr 09 2024 Tomas Glozar <tglozar@redhat.com> - 3.7-10
|
||||
- Add dependency on procps-ng which was missing in minimal environments
|
||||
Resolves: RHEL-31921
|
||||
|
Loading…
Reference in New Issue
Block a user