tools/testing/selftests/timers/raw_skew.c | 24 +++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-)
The raw_skew test currently sleeps for 120 seconds to estimate clock
drift. This is a very long time for a single test, and can cause
timeouts in automated test suites or CI systems.
Allow overriding the sleep time via a command line argument,
so it can be adjusted if needed in different environments, while
keeping the default at 120 seconds to preserve original behavior.
Also add -h/--help support to document this option.
Signed-off-by: Wake Liu <wakel@google.com>
---
tools/testing/selftests/timers/raw_skew.c | 24 +++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/timers/raw_skew.c b/tools/testing/selftests/timers/raw_skew.c
index a7bae7d80916..5fff3eaf1307 100644
--- a/tools/testing/selftests/timers/raw_skew.c
+++ b/tools/testing/selftests/timers/raw_skew.c
@@ -27,6 +27,7 @@
#include <time.h>
#include <include/vdso/time64.h>
#include "kselftest.h"
+#include <string.h>
#define shift_right(x, s) ({ \
__typeof__(x) __x = (x); \
@@ -87,11 +88,30 @@ void get_monotonic_and_raw(struct timespec *mon, struct timespec *raw)
}
}
+static void usage(char *argv0)
+{
+ printf("Usage: %s [sleep_secs]\n", argv0);
+ printf(" sleep_secs: time to sleep in seconds to estimate clock drift (default: 120s)\n");
+}
+
int main(int argc, char **argv)
{
struct timespec mon, raw, start, end;
long long delta1, delta2, interval, eppm, ppm;
struct timex tx1, tx2;
+ int sleep_sec = 120;
+
+ if (argc > 1) {
+ if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) {
+ usage(argv[0]);
+ ksft_exit_pass();
+ }
+ sleep_sec = atoi(argv[1]);
+ if (sleep_sec <= 0) {
+ printf("Invalid sleep time, using default 120s\n");
+ sleep_sec = 120;
+ }
+ }
setbuf(stdout, NULL);
@@ -109,9 +129,9 @@ int main(int argc, char **argv)
if (tx1.offset)
printf("WARNING: ADJ_OFFSET in progress, this will cause inaccurate results\n");
- printf("Estimating clock drift: ");
+ printf("Estimating clock drift (%ds): ", sleep_sec);
fflush(stdout);
- sleep(120);
+ sleep(sleep_sec);
get_monotonic_and_raw(&mon, &raw);
end = mon;
--
2.55.0.795.g602f6c329a-goog
On Sun, Jul 12, 2026 at 7:00 PM Wake Liu <wakel@google.com> wrote: > > The raw_skew test currently sleeps for 120 seconds to estimate clock > drift. This is a very long time for a single test, and can cause > timeouts in automated test suites or CI systems. > > Allow overriding the sleep time via a command line argument, > so it can be adjusted if needed in different environments, while > keeping the default at 120 seconds to preserve original behavior. > > Also add -h/--help support to document this option. > > Signed-off-by: Wake Liu <wakel@google.com> Acked-by: John Stultz <jstultz@google.com>
Hi, Friendly ping on this v2 patch. It addresses the feedback from v1 by adding the usage documentation and -h/--help support. Please let me know if you have any comments or if this looks good. Thanks, Wake
© 2016 - 2026 Red Hat, Inc.