rt-tests: fix cyclictest reported 1 sec latencies
[ CQID: WIND00391769 ] Huge latencies reported close to 1 second when certain options are used in cyclictest. Extend the original commit to remove the 1 second hardcoded timer values from the RELTIME and ITIMER options. Use the the actual interval instead. (From OE-Core rev: d1a3f3e2a6a74ba9b7ad5554648faebaf1b73c9f) Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
0ad5e67537
commit
20d88ff7e2
|
@ -0,0 +1,58 @@
|
|||
From 8959451a8ec5dc83dcb2dba6701abe8bf419e12c Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <8959451a8ec5dc83dcb2dba6701abe8bf419e12c.1358783585.git.Jim.Somerville@windriver.com>
|
||||
From: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
Date: Mon, 21 Jan 2013 10:50:18 -0500
|
||||
Subject: [PATCH 1/1] cyclictest: finish removal of 1 second first loops
|
||||
|
||||
Observation:
|
||||
Huge latencies reported close to 1 second when certain options
|
||||
are used in cyclictest.
|
||||
|
||||
Problem:
|
||||
[ commit da4956cbcaf7945554f30e4d3a9be09b1431b19a
|
||||
use interval on first loop instead of 1 second ]
|
||||
removed the 1 second first timing loop out of the main path
|
||||
in cyclictest but left it in two other paths, namely the ones
|
||||
triggered by these two options:
|
||||
-r --relative use relative timer instead of absolute
|
||||
-s --system use sys_nanosleep and sys_setitimer
|
||||
This causes huge latencies of close to 1 second to be reported
|
||||
by cyclictest with certain uses of those two options.
|
||||
|
||||
Fix:
|
||||
Extend the original commit to remove the 1 second hardcoded
|
||||
timer values from the RELTIME and ITIMER options. Use the
|
||||
the actual interval instead.
|
||||
|
||||
Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
|
||||
---
|
||||
src/cyclictest/cyclictest.c | 6 ++----
|
||||
1 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/cyclictest/cyclictest.c b/src/cyclictest/cyclictest.c
|
||||
index 11b6cea..8487409 100644
|
||||
--- a/src/cyclictest/cyclictest.c
|
||||
+++ b/src/cyclictest/cyclictest.c
|
||||
@@ -741,17 +741,15 @@ void *timerthread(void *param)
|
||||
if (par->timermode == TIMER_ABSTIME)
|
||||
tspec.it_value = next;
|
||||
else {
|
||||
- tspec.it_value.tv_nsec = 0;
|
||||
- tspec.it_value.tv_sec = 1;
|
||||
+ tspec.it_value = interval;
|
||||
}
|
||||
timer_settime(timer, par->timermode, &tspec, NULL);
|
||||
}
|
||||
|
||||
if (par->mode == MODE_SYS_ITIMER) {
|
||||
- itimer.it_value.tv_sec = 1;
|
||||
- itimer.it_value.tv_usec = 0;
|
||||
itimer.it_interval.tv_sec = interval.tv_sec;
|
||||
itimer.it_interval.tv_usec = interval.tv_nsec / 1000;
|
||||
+ itimer.it_value = itimer.it_interval;
|
||||
setitimer (ITIMER_REAL, &itimer, NULL);
|
||||
}
|
||||
|
||||
--
|
||||
1.7.4.1
|
||||
|
|
@ -7,9 +7,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
|
|||
file://0001-rt-tests-Allow-for-user-specified-PYLIB.patch \
|
||||
file://0002-rt-tests-Break-out-install_hwlatdetect.patch \
|
||||
file://added-missing-dependencies.patch \
|
||||
file://cyclictest-finish-removal-of-1-second-first-loops.patch \
|
||||
"
|
||||
|
||||
INC_PR = "r1"
|
||||
INC_PR = "r2"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
|
|
Loading…
Reference in New Issue