selftests/timers: Improve skew_consistency by testing with other clockids
authorJohn Stultz <jstultz@google.com>
Thu, 20 Mar 2025 20:03:01 +0000 (13:03 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 21 Mar 2025 18:16:18 +0000 (19:16 +0100)
Lei Chen reported a bug with CLOCK_MONOTONIC_COARSE having inconsistencies
when NTP is adjusting the clock frequency.

This has gone seemingly undetected for ~15 years, illustrating a clear gap
in our testing.

The skew_consistency test is intended to catch this sort of problem, but
was focused on only evaluating CLOCK_MONOTONIC, and thus missed the problem
on CLOCK_MONOTONIC_COARSE.

So adjust the test to run with all clockids for 60 seconds each instead of
10 minutes with just CLOCK_MONOTONIC.

Reported-by: Lei Chen <lei.chen@smartx.com>
Signed-off-by: John Stultz <jstultz@google.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250320200306.1712599-2-jstultz@google.com
Closes: https://lore.kernel.org/lkml/20250310030004.3705801-1-lei.chen@smartx.com/

tools/testing/selftests/timers/skew_consistency.c

index 83450145fe6579c1faab5d24d048ab975ed2d510..46c391d7f45dc8e56ad6d6e26e68f6c2a041fd2d 100644 (file)
@@ -47,7 +47,7 @@ int main(int argc, char **argv)
 
        pid = fork();
        if (!pid)
-               return system("./inconsistency-check -c 1 -t 600");
+               return system("./inconsistency-check -t 60");
 
        ppm = 500;
        ret = 0;