rt-tests/SOURCES/pi_stress-limit-the-number-...

40 lines
1.3 KiB
Diff

From 3359c4464c2a13ab04f15598b1c79040399978f5 Mon Sep 17 00:00:00 2001
From: Clark Williams <williams@redhat.com>
Date: Tue, 21 Jul 2020 16:10:22 -0500
Subject: [PATCH] pi_stress: limit the number of inversion groups to the number
of online cores
Each inversion group is three SCHED_FIFO threads, so the chances of more groups
than online cores actually getting to run is very slim. Limit the number of
groups requested to be <= the number of online cpus.
Signed-off-by: Clark Williams <williams@redhat.com>
Changing the conversion in printf to %ld since the number of online
processors is a long.
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/pi_tests/pi_stress.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/pi_tests/pi_stress.c b/src/pi_tests/pi_stress.c
index 0ed844c636cd..eba21d7727bc 100644
--- a/src/pi_tests/pi_stress.c
+++ b/src/pi_tests/pi_stress.c
@@ -1327,6 +1327,12 @@ void process_command_line(int argc, char **argv)
break;
case 'g':
ngroups = strtol(optarg, NULL, 10);
+ if (ngroups > num_processors) {
+ pi_error("the number of groups cannot exceed "
+ "the number of online processors (%ld)\n",
+ num_processors);
+ exit(-1);
+ }
pi_info("number of groups set to %d\n", ngroups);
break;
case 'r':
--
2.26.2