From 36c61c9ea557e5fa8251022f5c537a3c394fa421 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 29 Mar 2022 13:39:43 -0400 Subject: [PATCH] import rt-tests-2.3-2.el8 --- .gitignore | 2 +- .rt-tests.metadata | 2 +- ...rrect-the-comment-of-numa_initialize.patch | 30 +++++++++ ...untime-cpumask-if-a-CPULIST-is-speci.patch | 48 ++++++++++++++ ...sing-of-affinity-when-there-is-a-spa.patch | 65 +++++++++++++++++++ ...-oslat.8-Remove-the-argument-of-bias.patch | 29 +++++++++ SPECS/rt-tests.spec | 36 +++++++++- 7 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 SOURCES/rt-numa-Correct-the-comment-of-numa_initialize.patch create mode 100644 SOURCES/rt-numa-ignore-runtime-cpumask-if-a-CPULIST-is-speci.patch create mode 100644 SOURCES/rt-tests-Fix-parsing-of-affinity-when-there-is-a-spa.patch create mode 100644 SOURCES/rt-tests-oslat.8-Remove-the-argument-of-bias.patch diff --git a/.gitignore b/.gitignore index 89518cf..78d8528 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/rt-tests-2.1.tar.xz +SOURCES/rt-tests-2.3.tar.xz diff --git a/.rt-tests.metadata b/.rt-tests.metadata index 106e048..0f618e1 100644 --- a/.rt-tests.metadata +++ b/.rt-tests.metadata @@ -1 +1 @@ -36bdf18b18ba5a5a71ff81f102507d0b2015057d SOURCES/rt-tests-2.1.tar.xz +8be587f02ceb1f28f91174ad19df1dc4da48f92c SOURCES/rt-tests-2.3.tar.xz diff --git a/SOURCES/rt-numa-Correct-the-comment-of-numa_initialize.patch b/SOURCES/rt-numa-Correct-the-comment-of-numa_initialize.patch new file mode 100644 index 0000000..b169be2 --- /dev/null +++ b/SOURCES/rt-numa-Correct-the-comment-of-numa_initialize.patch @@ -0,0 +1,30 @@ +From d83bc06e1fca7250dbc3c5e7be0f55a4ea6e7ef0 Mon Sep 17 00:00:00 2001 +From: Oscar Shiang +Date: Thu, 23 Dec 2021 22:01:07 +0800 +Subject: [PATCH 1/2] rt-numa: Correct the comment of numa_initialize() + +numa_initialize() returns 0 only when numa_available() returns -1, +which means that libnuma is unavailable. + +The return values in the comment should be corrected to 1 if all +functions are available and 0 when the functions are unavailable. + +Signed-off-by: Oscar Shiang +Signed-off-by: John Kacur + +diff --git a/src/lib/rt-numa.c b/src/lib/rt-numa.c +index bb0121a65eca..ee5ab99684d8 100644 +--- a/src/lib/rt-numa.c ++++ b/src/lib/rt-numa.c +@@ -15,7 +15,7 @@ + + /* + * numa_available() must be called before any other calls to the numa library +- * returns 0 if numa is available, or 1 if numa is not available ++ * returns 1 if numa is available, or 0 if numa is not available + */ + int numa_initialize(void) + { +-- +2.27.0 + diff --git a/SOURCES/rt-numa-ignore-runtime-cpumask-if-a-CPULIST-is-speci.patch b/SOURCES/rt-numa-ignore-runtime-cpumask-if-a-CPULIST-is-speci.patch new file mode 100644 index 0000000..bed5deb --- /dev/null +++ b/SOURCES/rt-numa-ignore-runtime-cpumask-if-a-CPULIST-is-speci.patch @@ -0,0 +1,48 @@ +From 795433f50f20ef7598db5cfe991b5386e4080d41 Mon Sep 17 00:00:00 2001 +From: Marcelo Tosatti +Date: Fri, 28 Jan 2022 15:39:59 -0300 +Subject: [PATCH 2/2] rt-numa: ignore runtime cpumask if -a CPULIST is + specified + +When using isolcpus kernel command line option, the CPUs +specified at isolcpus= are not part of the run time environment +cpumask. + +This causes "cyclictest -a isolatedcpus" to fail with: + +WARN: Couldn't setaffinity in main thread: Invalid argument +FATAL: No allowable cpus to run on + # /dev/cpu_dma_latency set to 0us + +To fix this, ignore the runtime cpumask if neither "+", "!" +are specified in the cpu list string. + +Suggested by Sebastian Andrzej Siewior. + +Signed-off-by: Marcelo Tosatti + +v2: fix changelog typo +v3: simplified version (John Kacur) + +Signed-off-by: John Kacur +--- + src/lib/rt-numa.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lib/rt-numa.c b/src/lib/rt-numa.c +index ee5ab99684d8..3eead80c3b2b 100644 +--- a/src/lib/rt-numa.c ++++ b/src/lib/rt-numa.c +@@ -131,7 +131,8 @@ int parse_cpumask(char *str, int max_cpus, struct bitmask **cpumask) + return 0; + } + +- use_current_cpuset(max_cpus, mask); ++ if (strchr(str, '!') != NULL || strchr(str, '+') != NULL) ++ use_current_cpuset(max_cpus, mask); + *cpumask = mask; + + return 0; +-- +2.34.1 + diff --git a/SOURCES/rt-tests-Fix-parsing-of-affinity-when-there-is-a-spa.patch b/SOURCES/rt-tests-Fix-parsing-of-affinity-when-there-is-a-spa.patch new file mode 100644 index 0000000..2be5e40 --- /dev/null +++ b/SOURCES/rt-tests-Fix-parsing-of-affinity-when-there-is-a-spa.patch @@ -0,0 +1,65 @@ +From 4fac6f28af3aec1c88f19bf96ef73541c1ae5858 Mon Sep 17 00:00:00 2001 +From: John Kacur +Date: Fri, 28 Jan 2022 12:50:22 -0500 +Subject: [PATCH 1/2] rt-tests: Fix parsing of affinity when there is a space. + +Make sure that -a all and -a '+' are passed to parse_cpumask(). +Currently this doesn't work correctly if there is a space after -a and the +string. + +While we are at it, fix the message in oslat which calls +numa_parse_cpustring_all directly to say that. + +Signed-off-by: John Kacur +--- + src/cyclictest/cyclictest.c | 4 +++- + src/oslat/oslat.c | 2 +- + src/signaltest/signaltest.c | 4 +++- + 3 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c +index 490aedb54c03..c9ed9e08f6e1 100644 +--- a/src/cyclictest/cyclictest.c ++++ b/src/cyclictest/cyclictest.c +@@ -1035,7 +1035,9 @@ static void process_options(int argc, char *argv[], int max_cpus) + } else if (optind < argc && + (atoi(argv[optind]) || + argv[optind][0] == '0' || +- argv[optind][0] == '!')) { ++ argv[optind][0] == '!' || ++ argv[optind][0] == '+' || ++ argv[optind][0] == 'a')) { + parse_cpumask(argv[optind], max_cpus, &affinity_mask); + setaffinity = AFFINITY_SPECIFIED; + } else { +diff --git a/src/oslat/oslat.c b/src/oslat/oslat.c +index 50ddc81463ea..aa0e9a79e3b4 100644 +--- a/src/oslat/oslat.c ++++ b/src/oslat/oslat.c +@@ -850,7 +850,7 @@ int main(int argc, char *argv[]) + + cpu_set = numa_parse_cpustring_all(g.cpu_list); + if (!cpu_set) +- fatal("oslat: parse_cpumask failed.\n"); ++ fatal("oslat: numa_parse_cpustring_all failed.\n"); + n_cores = numa_bitmask_weight(cpu_set); + + TEST(threads = calloc(1, n_cores * sizeof(threads[0]))); +diff --git a/src/signaltest/signaltest.c b/src/signaltest/signaltest.c +index 4d89a1aba9d9..1cf03931b5bf 100644 +--- a/src/signaltest/signaltest.c ++++ b/src/signaltest/signaltest.c +@@ -261,7 +261,9 @@ static void process_options(int argc, char *argv[], unsigned int max_cpus) + } else if (optind < argc && + (atoi(argv[optind]) || + argv[optind][0] == '0' || +- argv[optind][0] == '!')) { ++ argv[optind][0] == '!' || ++ argv[optind][0] == '+' || ++ argv[optind][0] == 'a')) { + parse_cpumask(argv[optind], max_cpus, &affinity_mask); + setaffinity = AFFINITY_SPECIFIED; + } else { +-- +2.34.1 + diff --git a/SOURCES/rt-tests-oslat.8-Remove-the-argument-of-bias.patch b/SOURCES/rt-tests-oslat.8-Remove-the-argument-of-bias.patch new file mode 100644 index 0000000..b2bb8b3 --- /dev/null +++ b/SOURCES/rt-tests-oslat.8-Remove-the-argument-of-bias.patch @@ -0,0 +1,29 @@ +From d2ded8b1e863d3c7fd47e3f9a875fb9e6968ff61 Mon Sep 17 00:00:00 2001 +From: Oscar Shiang +Date: Thu, 30 Dec 2021 21:41:58 +0800 +Subject: [PATCH 2/2] rt-tests: oslat.8: Remove the argument of --bias + +The option --bias does not require an argument and the bias should +be estimated later. + +There is no need to provide USEC to --bias option. + +Signed-off-by: Oscar Shiang +Signed-off-by: John Kacur + +diff --git a/src/oslat/oslat.8 b/src/oslat/oslat.8 +index 4b28abd24425..39b36df0db3f 100644 +--- a/src/oslat/oslat.8 ++++ b/src/oslat/oslat.8 +@@ -18,7 +18,7 @@ TSC information and measuring the time frequently during the process. + .B \-b, \-\-bucket-size=N + Specify the number of the buckets (4-1024). + .TP +-.B \-B, \-\-bias=USEC ++.B \-B, \-\-bias + Add a bias to all the buckets using the estimated mininum. + .TP + .B \-c, \-\-cpu-list=CPULIST +-- +2.27.0 + diff --git a/SPECS/rt-tests.spec b/SPECS/rt-tests.spec index 1a2a854..d4ba8f2 100644 --- a/SPECS/rt-tests.spec +++ b/SPECS/rt-tests.spec @@ -5,8 +5,8 @@ Name: rt-tests # BuildRequires: numactl-devel # Numa argument to make: NUMA=1 # -Version: 2.1 -Release: 1%{?dist} +Version: 2.3 +Release: 2%{?dist} License: GPLv2 Group: Development/Tools URL: git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git @@ -21,6 +21,10 @@ BuildRequires: python3-devel Requires: bash bc #Patches +Patch1: rt-numa-Correct-the-comment-of-numa_initialize.patch +Patch2: rt-tests-oslat.8-Remove-the-argument-of-bias.patch +Patch3: rt-tests-Fix-parsing-of-affinity-when-there-is-a-spa.patch +Patch4: rt-numa-ignore-runtime-cpumask-if-a-CPULIST-is-speci.patch %description rt-tests is a set of programs that test and measure various components of @@ -29,6 +33,10 @@ latency. It also tests the functioning of priority-inheritance mutexes. %prep %setup -q -n %{name}-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %set_build_flags @@ -83,6 +91,30 @@ rm -rf ${build_root} %{_mandir}/man8/determine_maximum_mpps.8.* %changelog +* Thu Feb 3 2022 John Kacur - 2.3-2 +- Fix parsing of affinity +- Ignore the runtime cpumask if a new cpumask is requested +Resolves: rhbz#2050242 + +* Thu Jan 13 2022 Leah Leshchinsky - 2.3-1 +- Update to latest upstream 2.3 +- Correct the comment of numa_initialize() +- oslat.8: Remove the argument of --bias +Resolves: rhbz#2012292 + +* Fri Nov 19 2021 John Kacur - 2.1-4 +- Fix potential double mount of cgroups for deadline_test +- Fix potential double mount of cgroups for cyclicdeadline +Resolves: rhbz#2024957 + +* Fri Nov 12 2021 John Kacur - 2.1-3 +- Null check to prevent floating point exception in deadline test +Resolves: rhbz#1995005 + +* Tue Oct 12 2021 Leah Leshchinsky - 2.1-2 +- Add missing option F to optstring +Resolves: rhbz#2000974 + * Wed Jun 30 2021 John Kacur - 2.1-1 - Update to rt-tests-2.1 upstream Resolves: rhbz#1954387