Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1696580
| Path | csiph.com!goblin1!goblin.stu.neva.ru!feeders.as203319.net!feeder01.as203319.net!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Greg Hackmann <ghackmann@google.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH 1/2] kselftests: set-timer-lat: tweak reporting when timer fires early |
| Date | Tue, 25 Jul 2017 23:40:02 +0200 |
| Message-ID | <u7fIC-8eE-29@gated-at.bofh.it> (permalink) |
| References | <u7fIC-8eE-25@gated-at.bofh.it> |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=VQbiW88KwwAaN1ew0O9xl+Pt3HyZiIAl/Os9lyG2qxU=; b=N+WinkYk+G0mn4d65Y+KOb/HoE4m64YODwzJgR0FSG4AufzoiY389TvWDp94btOJFi KhB85dJEcYHoKkxGYqDJDyFpNUzymp3yFNq6ZJjevJzXJ6g1N/liNQWLuqKxjFRkozXy Eaz2l2PHjEPNMdVasDkUfvNci3eCH7vDR/yI3lb+J5N7zVunt2jfQTcsiirBGvRUy+kD sWfuZa04xtl8bFrLI1mqvJ+ca+764dq7G6ARA8Qp8BdpIxBMsjgJyE1uix9iLZhrP4Mc n2Rb6oX/HEqCFpr4msbsb7LFQGsY2xOp6ronF5dSdCps4n/9KDt+rJvDta/66jjt9p4t sEjw== |
| X-Google-Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=VQbiW88KwwAaN1ew0O9xl+Pt3HyZiIAl/Os9lyG2qxU=; b=F/eJsqwbdwei7v8lxOzuvEh3a/uOFSQbJLNO/d3HYx61jK7jxrMe3BGYODdbyTPjiW cyzawzdQZHggBPSCHrX8C7brXFZ07aCDZ9BzSt9xhz9eIHMKQxbjVMpJDprswtHRR4pr 8C2oz79U1Cxk9fW3UO4gLq2TtJTPPQpoj+bdW4KyBw2x4V1a+bfmi1+E7iOlTW6P02lv 5aFjLn5bZ4bp2s6fIJnfic59kmshTxOrxT2/99CbEhkXalt19o1IYXP+qr7AOncXM4N7 MWPgthcRPha0JxATjhew4Fk/yANxKBNjSZp3O6R6+X8EwkASp3BvAtP7U6X7XnUQOYiX eRgg== |
| X-Gm-Message-State | AIVw110BzIPDGK/zbdHON6VNwuahvMf3hXVn/4h2m1SkMCOI1FAPDslg M9s+kv0ryQfpEHtk |
| X-Received | by 10.99.38.195 with SMTP id m186mr20370537pgm.323.1501018620976; Tue, 25 Jul 2017 14:37:00 -0700 (PDT) |
| X-Mailer | git-send-email 2.14.0.rc0.400.g1c36432dff-goog |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 87 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, Greg Hackmann <ghackmann@google.com> |
| X-Original-Date | Tue, 25 Jul 2017 14:36:25 -0700 |
| X-Original-Message-ID | <20170725213626.115123-2-ghackmann@google.com> |
| X-Original-References | <20170725213626.115123-1-ghackmann@google.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1696580 |
Show key headers only | View raw
Rather than printing an error inside the alarm signal handler, set a
flag that we check later. This keeps the test from spamming the console
every time the alarm fires early. It also fixes the test exiting with
error code 0 if this was the only test failure.
Signed-off-by: Greg Hackmann <ghackmann@google.com>
---
tools/testing/selftests/timers/set-timer-lat.c | 33 +++++++++++++++++++-------
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/timers/set-timer-lat.c b/tools/testing/selftests/timers/set-timer-lat.c
index 4fc98c5b0899..10c2e18737c0 100644
--- a/tools/testing/selftests/timers/set-timer-lat.c
+++ b/tools/testing/selftests/timers/set-timer-lat.c
@@ -63,6 +63,7 @@ int alarmcount;
int clock_id;
struct timespec start_time;
long long max_latency_ns;
+int timer_fired_early;
char *clockstring(int clockid)
{
@@ -115,12 +116,19 @@ void sigalarm(int signo)
delta_ns -= NSEC_PER_SEC * TIMER_SECS * alarmcount;
if (delta_ns < 0)
- printf("%s timer fired early: FAIL\n", clockstring(clock_id));
+ timer_fired_early = 1;
if (delta_ns > max_latency_ns)
max_latency_ns = delta_ns;
}
+void describe_timer(int flags)
+{
+ printf("%-22s %s ",
+ clockstring(clock_id),
+ flags ? "ABSTIME":"RELTIME");
+}
+
int do_timer(int clock_id, int flags)
{
struct sigevent se;
@@ -136,6 +144,7 @@ int do_timer(int clock_id, int flags)
max_latency_ns = 0;
alarmcount = 0;
+ timer_fired_early = 0;
err = timer_create(clock_id, &se, &tm1);
if (err) {
@@ -170,18 +179,26 @@ int do_timer(int clock_id, int flags)
while (alarmcount < 5)
sleep(1);
- printf("%-22s %s max latency: %10lld ns : ",
- clockstring(clock_id),
- flags ? "ABSTIME":"RELTIME",
- max_latency_ns);
+ describe_timer(flags);
+ printf("timer fired early: %7d : ", timer_fired_early);
+ if (!timer_fired_early) {
+ printf("[OK]\n");
+ } else {
+ printf("[FAILED]\n");
+ err = -1;
+ }
+
+ describe_timer(flags);
+ printf("max latency: %10lld ns : ", max_latency_ns);
timer_delete(tm1);
if (max_latency_ns < UNRESONABLE_LATENCY) {
printf("[OK]\n");
- return 0;
+ } else {
+ printf("[FAILED]\n");
+ err = -1;
}
- printf("[FAILED]\n");
- return -1;
+ return err;
}
int main(void)
--
2.14.0.rc0.400.g1c36432dff-goog
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH 1/2] kselftests: set-timer-lat: tweak reporting when timer fires early Greg Hackmann <ghackmann@google.com> - 2017-07-25 23:40 +0200
csiph-web