rt-tests/SOURCES/rt-tests-cyclictest-Don-t-allow-OPT_SYSTEM-with-OPT_POSIX_TIMERS.patch

43 lines
1.3 KiB
Diff
Raw Normal View History

2020-01-21 20:44:25 +00:00
From 0bf35a2fb58177318353c3a2e02df5b20728d5b9 Mon Sep 17 00:00:00 2001
From: John Kacur <jkacur@redhat.com>
Date: Mon, 16 Sep 2019 23:43:32 +0200
Subject: [PATCH 5/8] rt-tests: cyclictest: Don't allow OPT_SYSTEM with
OPT_POSIX_TIMERS
OPT_SYSTEM means use sys_nanosleep and sys_setitimer
if you try to combine it with OPT_POSIX_TIMERS, it breaks.
cyclictest becomes unkillable with ctrl-C and only the first thread is
updated.
Fix this by issuing a warning if the user tries to combine the two
options and then use clock_nanosleep.
Reported-by: Tom Rix <trix@redhat.com>
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/cyclictest/cyclictest.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
index 3a78912b34f8..6be0525822ca 100644
--- a/src/cyclictest/cyclictest.c
+++ b/src/cyclictest/cyclictest.c
@@ -1353,6 +1353,13 @@ static void process_options (int argc, char *argv[], int max_cpus)
}
}
+ if ((use_system == MODE_SYS_OFFSET) && (use_nanosleep == MODE_CYCLIC)) {
+ warn("The system option requires clock_nanosleep\n");
+ warn("and is not compatible with posix_timers\n");
+ warn("Using clock_nanosleep\n");
+ use_nanosleep = MODE_CLOCK_NANOSLEEP;
+ }
+
/* if smp wasn't requested, test for numa automatically */
if (!smp) {
#ifdef NUMA
--
2.20.1