From 6be39f0b281762e9337dc4305e78cbb53de7e4b9 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 7 Feb 2022 16:38:40 -0500 Subject: [PATCH] Don't restrict threads to cpumask in environment if user specifies cpumask Don't restrict threads to cpumask inherited from the environment if the user specifies a cpumask. Resolves: rhbz#1983783 Signed-off-by: John Kacur --- ...trict-measurement-threads-to-inherit.patch | 51 +++++++++++++++++++ rteval.spec | 8 ++- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 rteval-Don-t-restrict-measurement-threads-to-inherit.patch diff --git a/rteval-Don-t-restrict-measurement-threads-to-inherit.patch b/rteval-Don-t-restrict-measurement-threads-to-inherit.patch new file mode 100644 index 0000000..b4a8f80 --- /dev/null +++ b/rteval-Don-t-restrict-measurement-threads-to-inherit.patch @@ -0,0 +1,51 @@ +From 75667f4b92e3120bced7ae5464d97941edffd802 Mon Sep 17 00:00:00 2001 +From: John Kacur +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 +--- + 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 + diff --git a/rteval.spec b/rteval.spec index 2a5233e..863764a 100644 --- a/rteval.spec +++ b/rteval.spec @@ -1,6 +1,6 @@ Name: rteval Version: 3.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Utility to evaluate system suitability for RT Linux Group: Development/Tools @@ -31,6 +31,7 @@ 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 %description The rteval script is a utility for measuring various aspects of @@ -45,6 +46,7 @@ to the screen. %setup -q %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build %{__python3} setup.py build @@ -71,6 +73,10 @@ rm -rf $RPM_BUILD_ROOT %{python3_sitelib}/rteval/__pycache__/* %changelog +* Mon Feb 07 2022 John Kacur - 3.3-2 +- Don't restrict threads to cpumask in environment if user specifies cpumask +Resolves: rhbz#1983783 + * Wed Jan 26 2022 John Kacur - 3.3-1 - Rebase to upstream rteval-3.3 - Fix case where the threshold assignment is not properly parsed