From nobody Tue Sep 29 06:08:56 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DC523C061C; Tue, 11 Aug 2026 16:14:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464859; cv=none; b=gTfW4TXajRAydmvfmvXmeefSJAnO5fsuY1Fgqu/9qjQfO2H8zQnOsdXrAA3RHXmIKInRFH+J6Tln6sb7qXrzCvZ3kw0WLI2LI6kgSwMarHra5pV970K241tkYVwigtc3uDSR/SzSRWJk0gvQaFeu18ZCxNSDT65c2fHJ2XPOq7c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786464859; c=relaxed/simple; bh=BUR9OS2H+G+xJafiovPENbTPLC8WzFwE1fUgyC9Gti0=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=XWy7HkA70DPvQVM0oH2cNW24lxGKCNSWZqw3M61nIuWCFZVgE3SQ3/VEsu+fFT8V/XOx7vEmIm4ooKhRiUfwT/t+QuojC+1VBUPeVl+SuzLGmLBiEWMKQOQKN5NdGSWpOBlPNBE6fKKQFrc4wni8okLFC7B6mhpKvXeyJIxElcY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=cr3grR+1; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Cvtgz+3z; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="cr3grR+1"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Cvtgz+3z" Date: Tue, 11 Aug 2026 16:14:13 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1786464855; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jP3Ab8CJArgbqKV+/OM2RuA459TpPuUmwM/TWAkhid0=; b=cr3grR+14Icj9TimynfA1stVXRZUFQgDs4wX5vnwhLBWM8+d9o+zaVSxNTFoFnTJkCXk5G GmpwSM6PgUJikox3Ni424bDvLnAF6HGlw81Ra7F1a0tUUhILP0Q0dN+efT0y14VK6iNDxA gx5GdtIMJIFZopflxLJaR/2LoB3Xcd7HNINcVvGoRwV+bPY5Y4H/8IgF5hQnHMv2v9gXC7 oyhbbHihVNorIYWtVPgkrxGIMxf6d/SjAKriKU1NFXVRmafpLXARZrLl/n8Yjj1Em2zDWB gqk7yRH42PA5VNIRADseK5gJPIRvDYrtv5rLWrhLg5sFIyFHwU/gBoMAhutO0w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1786464855; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jP3Ab8CJArgbqKV+/OM2RuA459TpPuUmwM/TWAkhid0=; b=Cvtgz+3zOZ6v4y7U5X0LlYwpxZ3KuHAGrCJrQZSKPYfVjgHEoqL2cWhlosF61hJ4R/g37p 0rY9uHPkxGeAfDBA== From: tip-bot2 for Thomas =?utf-8?q?Wei=C3=9Fschuh_=28Schneider_Electric=29?= Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: timers/core] selftests: timers: Use clock_name() and constants from clock-helpers.h Cc: thomas.weissschuh@linutronix.de, Thomas Gleixner , John Stultz , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20260803-auxclock-nanosleep-prep-v2-7-910cbd485390@linutronix.de> References: <20260803-auxclock-nanosleep-prep-v2-7-910cbd485390@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <178646485385.442315.8554638004228856142.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the timers/core branch of tip: Commit-ID: 54200b87489b39f9437a91e2156c4c2d90412704 Gitweb: https://git.kernel.org/tip/54200b87489b39f9437a91e2156c4c2d9= 0412704 Author: Thomas Wei=C3=9Fschuh (Schneider Electric) AuthorDate: Mon, 03 Aug 2026 12:04:38 +02:00 Committer: Thomas Gleixner CommitterDate: Tue, 11 Aug 2026 18:11:20 +02:00 selftests: timers: Use clock_name() and constants from clock-helpers.h Replace the many repetitions of custom clockid_t to string translation with the clock_name() helper from clock-helpers.h. Also drop the custom ?SEC_PER_?SEC definitions. Signed-off-by: Thomas Wei=C3=9Fschuh (Schneider Electric) Signed-off-by: Thomas Gleixner Acked-by: John Stultz Link: https://patch.msgid.link/20260803-auxclock-nanosleep-prep-v2-7-910cbd= 485390@linutronix.de --- tools/testing/selftests/timers/adjtick.c | 5 +- tools/testing/selftests/timers/alarmtimer-suspend.c | 38 +---------- tools/testing/selftests/timers/inconsistency-check.c | 38 +--------- tools/testing/selftests/timers/leap-a-day.c | 3 +- tools/testing/selftests/timers/mqueue-lat.c | 3 +- tools/testing/selftests/timers/nanosleep.c | 42 +---------- tools/testing/selftests/timers/nsleep-lat.c | 36 +--------- tools/testing/selftests/timers/posix_timers.c | 36 ++++----- tools/testing/selftests/timers/raw_skew.c | 3 +- tools/testing/selftests/timers/set-2038.c | 3 +- tools/testing/selftests/timers/set-timer-lat.c | 41 +---------- tools/testing/selftests/timers/valid-adjtimex.c | 4 +- 12 files changed, 47 insertions(+), 205 deletions(-) diff --git a/tools/testing/selftests/timers/adjtick.c b/tools/testing/selft= ests/timers/adjtick.c index 22d274d..68009a6 100644 --- a/tools/testing/selftests/timers/adjtick.c +++ b/tools/testing/selftests/timers/adjtick.c @@ -22,10 +22,9 @@ #include #include #include -#include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL -#define USEC_PER_SEC 1000000LL +#include "clock-helpers.h" +#include "kselftest.h" =20 #define MILLION 1000000 =20 diff --git a/tools/testing/selftests/timers/alarmtimer-suspend.c b/tools/te= sting/selftests/timers/alarmtimer-suspend.c index d55d5b0..120b3ce 100644 --- a/tools/testing/selftests/timers/alarmtimer-suspend.c +++ b/tools/testing/selftests/timers/alarmtimer-suspend.c @@ -29,10 +29,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - #define UNREASONABLE_LAT (NSEC_PER_SEC * 5) /* hopefully we resume in 5 se= cs */ =20 #define SUSPEND_SECS 15 @@ -40,37 +39,6 @@ int alarmcount; int alarm_clock_id; struct timespec start_time; =20 - -char *clockstring(int clockid) -{ - switch (clockid) { - case CLOCK_REALTIME: - return "CLOCK_REALTIME"; - case CLOCK_MONOTONIC: - return "CLOCK_MONOTONIC"; - case CLOCK_PROCESS_CPUTIME_ID: - return "CLOCK_PROCESS_CPUTIME_ID"; - case CLOCK_THREAD_CPUTIME_ID: - return "CLOCK_THREAD_CPUTIME_ID"; - case CLOCK_MONOTONIC_RAW: - return "CLOCK_MONOTONIC_RAW"; - case CLOCK_REALTIME_COARSE: - return "CLOCK_REALTIME_COARSE"; - case CLOCK_MONOTONIC_COARSE: - return "CLOCK_MONOTONIC_COARSE"; - case CLOCK_BOOTTIME: - return "CLOCK_BOOTTIME"; - case CLOCK_REALTIME_ALARM: - return "CLOCK_REALTIME_ALARM"; - case CLOCK_BOOTTIME_ALARM: - return "CLOCK_BOOTTIME_ALARM"; - case CLOCK_TAI: - return "CLOCK_TAI"; - } - return "UNKNOWN_CLOCKID"; -} - - long long timespec_sub(struct timespec a, struct timespec b) { long long ret =3D NSEC_PER_SEC * b.tv_sec + b.tv_nsec; @@ -130,12 +98,12 @@ int main(void) alarmcount =3D 0; if (timer_create(alarm_clock_id, &se, &tm1) =3D=3D -1) { printf("timer_create failed, %s unsupported?: %s\n", - clockstring(alarm_clock_id), strerror(errno)); + clock_name(alarm_clock_id), strerror(errno)); break; } =20 clock_gettime(alarm_clock_id, &start_time); - printf("Start time (%s): %ld:%ld\n", clockstring(alarm_clock_id), + printf("Start time (%s): %ld:%ld\n", clock_name(alarm_clock_id), start_time.tv_sec, start_time.tv_nsec); printf("Setting alarm for every %i seconds\n", SUSPEND_SECS); its1.it_value =3D start_time; diff --git a/tools/testing/selftests/timers/inconsistency-check.c b/tools/t= esting/selftests/timers/inconsistency-check.c index 9ab7066..d7982ac 100644 --- a/tools/testing/selftests/timers/inconsistency-check.c +++ b/tools/testing/selftests/timers/inconsistency-check.c @@ -28,44 +28,14 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - /* CLOCK_HWSPECIFIC =3D=3D CLOCK_SGI_CYCLE (Deprecated) */ #define CLOCK_HWSPECIFIC 10 =20 #define CALLS_PER_LOOP 64 =20 -char *clockstring(int clockid) -{ - switch (clockid) { - case CLOCK_REALTIME: - return "CLOCK_REALTIME"; - case CLOCK_MONOTONIC: - return "CLOCK_MONOTONIC"; - case CLOCK_PROCESS_CPUTIME_ID: - return "CLOCK_PROCESS_CPUTIME_ID"; - case CLOCK_THREAD_CPUTIME_ID: - return "CLOCK_THREAD_CPUTIME_ID"; - case CLOCK_MONOTONIC_RAW: - return "CLOCK_MONOTONIC_RAW"; - case CLOCK_REALTIME_COARSE: - return "CLOCK_REALTIME_COARSE"; - case CLOCK_MONOTONIC_COARSE: - return "CLOCK_MONOTONIC_COARSE"; - case CLOCK_BOOTTIME: - return "CLOCK_BOOTTIME"; - case CLOCK_REALTIME_ALARM: - return "CLOCK_REALTIME_ALARM"; - case CLOCK_BOOTTIME_ALARM: - return "CLOCK_BOOTTIME_ALARM"; - case CLOCK_TAI: - return "CLOCK_TAI"; - } - return "UNKNOWN_CLOCKID"; -} - /* returns 1 if a <=3D b, 0 otherwise */ static inline int in_order(struct timespec a, struct timespec b) { @@ -172,15 +142,15 @@ int main(int argc, char *argv[]) for (clockid =3D userclock; clockid < maxclocks; clockid++) { =20 if (clockid =3D=3D CLOCK_HWSPECIFIC || clock_gettime(clockid, &ts)) { - ksft_test_result_skip("%-31s\n", clockstring(clockid)); + ksft_test_result_skip("%-31s\n", clock_name(clockid)); continue; } =20 if (consistency_test(clockid, runtime)) { - ksft_test_result_fail("%-31s\n", clockstring(clockid)); + ksft_test_result_fail("%-31s\n", clock_name(clockid)); ksft_exit_fail(); } else { - ksft_test_result_pass("%-31s\n", clockstring(clockid)); + ksft_test_result_pass("%-31s\n", clock_name(clockid)); } } ksft_exit_pass(); diff --git a/tools/testing/selftests/timers/leap-a-day.c b/tools/testing/se= lftests/timers/leap-a-day.c index 71b4973..b93cb57 100644 --- a/tools/testing/selftests/timers/leap-a-day.c +++ b/tools/testing/selftests/timers/leap-a-day.c @@ -51,10 +51,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - #define CLOCK_TAI 11 =20 time_t next_leap; diff --git a/tools/testing/selftests/timers/mqueue-lat.c b/tools/testing/se= lftests/timers/mqueue-lat.c index ce8700c..fa4c3e3 100644 --- a/tools/testing/selftests/timers/mqueue-lat.c +++ b/tools/testing/selftests/timers/mqueue-lat.c @@ -29,10 +29,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - =20 #define TARGET_TIMEOUT 100000000 /* 100ms in nanoseconds */ #define UNRESONABLE_LATENCY 40000000 /* 40ms in nanosecs */ diff --git a/tools/testing/selftests/timers/nanosleep.c b/tools/testing/sel= ftests/timers/nanosleep.c index ceff181..7df86df 100644 --- a/tools/testing/selftests/timers/nanosleep.c +++ b/tools/testing/selftests/timers/nanosleep.c @@ -27,44 +27,14 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - /* CLOCK_HWSPECIFIC =3D=3D CLOCK_SGI_CYCLE (Deprecated) */ #define CLOCK_HWSPECIFIC 10 =20 #define UNSUPPORTED 0xf00f =20 -char *clockstring(int clockid) -{ - switch (clockid) { - case CLOCK_REALTIME: - return "CLOCK_REALTIME"; - case CLOCK_MONOTONIC: - return "CLOCK_MONOTONIC"; - case CLOCK_PROCESS_CPUTIME_ID: - return "CLOCK_PROCESS_CPUTIME_ID"; - case CLOCK_THREAD_CPUTIME_ID: - return "CLOCK_THREAD_CPUTIME_ID"; - case CLOCK_MONOTONIC_RAW: - return "CLOCK_MONOTONIC_RAW"; - case CLOCK_REALTIME_COARSE: - return "CLOCK_REALTIME_COARSE"; - case CLOCK_MONOTONIC_COARSE: - return "CLOCK_MONOTONIC_COARSE"; - case CLOCK_BOOTTIME: - return "CLOCK_BOOTTIME"; - case CLOCK_REALTIME_ALARM: - return "CLOCK_REALTIME_ALARM"; - case CLOCK_BOOTTIME_ALARM: - return "CLOCK_BOOTTIME_ALARM"; - case CLOCK_TAI: - return "CLOCK_TAI"; - }; - return "UNKNOWN_CLOCKID"; -} - /* returns 1 if a <=3D b, 0 otherwise */ static inline int in_order(struct timespec a, struct timespec b) { @@ -182,7 +152,7 @@ int main(int argc, char **argv) if (clockid =3D=3D CLOCK_PROCESS_CPUTIME_ID || clockid =3D=3D CLOCK_THREAD_CPUTIME_ID || clockid =3D=3D CLOCK_HWSPECIFIC) { - ksft_test_result_skip("%-31s\n", clockstring(clockid)); + ksft_test_result_skip("%-31s\n", clock_name(clockid)); continue; } =20 @@ -192,21 +162,21 @@ int main(int argc, char **argv) while (length <=3D (NSEC_PER_SEC * 10)) { ret =3D nanosleep_test(clockid, length); if (ret =3D=3D UNSUPPORTED) { - ksft_test_result_skip("%-31s\n", clockstring(clockid)); + ksft_test_result_skip("%-31s\n", clock_name(clockid)); goto next; } if (ret < 0) { - ksft_test_result_fail("%-31s\n", clockstring(clockid)); + ksft_test_result_fail("%-31s\n", clock_name(clockid)); ksft_exit_fail(); } length *=3D 100; } ret =3D nanosleep_test_remaining(clockid); if (ret < 0) { - ksft_test_result_fail("%-31s\n", clockstring(clockid)); + ksft_test_result_fail("%-31s\n", clock_name(clockid)); ksft_exit_fail(); } - ksft_test_result_pass("%-31s\n", clockstring(clockid)); + ksft_test_result_pass("%-31s\n", clock_name(clockid)); next: ret =3D 0; } diff --git a/tools/testing/selftests/timers/nsleep-lat.c b/tools/testing/se= lftests/timers/nsleep-lat.c index 15f6493..d22973c 100644 --- a/tools/testing/selftests/timers/nsleep-lat.c +++ b/tools/testing/selftests/timers/nsleep-lat.c @@ -24,10 +24,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - #define UNRESONABLE_LATENCY 40000000 /* 40ms in nanosecs */ =20 /* CLOCK_HWSPECIFIC =3D=3D CLOCK_SGI_CYCLE (Deprecated) */ @@ -35,35 +34,6 @@ =20 #define UNSUPPORTED 0xf00f =20 -char *clockstring(int clockid) -{ - switch (clockid) { - case CLOCK_REALTIME: - return "CLOCK_REALTIME"; - case CLOCK_MONOTONIC: - return "CLOCK_MONOTONIC"; - case CLOCK_PROCESS_CPUTIME_ID: - return "CLOCK_PROCESS_CPUTIME_ID"; - case CLOCK_THREAD_CPUTIME_ID: - return "CLOCK_THREAD_CPUTIME_ID"; - case CLOCK_MONOTONIC_RAW: - return "CLOCK_MONOTONIC_RAW"; - case CLOCK_REALTIME_COARSE: - return "CLOCK_REALTIME_COARSE"; - case CLOCK_MONOTONIC_COARSE: - return "CLOCK_MONOTONIC_COARSE"; - case CLOCK_BOOTTIME: - return "CLOCK_BOOTTIME"; - case CLOCK_REALTIME_ALARM: - return "CLOCK_REALTIME_ALARM"; - case CLOCK_BOOTTIME_ALARM: - return "CLOCK_BOOTTIME_ALARM"; - case CLOCK_TAI: - return "CLOCK_TAI"; - }; - return "UNKNOWN_CLOCKID"; -} - struct timespec timespec_add(struct timespec ts, unsigned long long ns) { ts.tv_nsec +=3D ns; @@ -156,10 +126,10 @@ int main(int argc, char **argv) } =20 if (ret =3D=3D UNSUPPORTED) { - ksft_test_result_skip("%s\n", clockstring(clockid)); + ksft_test_result_skip("%s\n", clock_name(clockid)); } else { ksft_test_result(ret >=3D 0, "%s\n", - clockstring(clockid)); + clock_name(clockid)); } } =20 diff --git a/tools/testing/selftests/timers/posix_timers.c b/tools/testing/= selftests/timers/posix_timers.c index fa168d8..a92d4b9 100644 --- a/tools/testing/selftests/timers/posix_timers.c +++ b/tools/testing/selftests/timers/posix_timers.c @@ -19,11 +19,9 @@ #include #include =20 +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL -#define USEC_PER_SEC 1000000LL - #define DELAY 2 =20 static void __fatal_error(const char *test, const char *name, const char *= what) @@ -143,8 +141,9 @@ static void check_itimer(int which, const char *name) ksft_test_result(check_diff(start, end) =3D=3D 0, "%s\n", name); } =20 -static void check_timer_create(int which, const char *name) +static void check_timer_create(int which) { + const char *name =3D clock_name(which); struct timespec start, end; struct itimerspec val =3D { .it_value.tv_sec =3D DELAY, @@ -457,8 +456,9 @@ static void check_delete(void) ksft_test_result(!tsig.signals, "check_delete\n"); } =20 -static void check_sigev_none(int which, const char *name) +static void check_sigev_none(int which) { + const char *name =3D clock_name(which); struct timespec start, now; struct itimerspec its; struct sigevent sev; @@ -495,8 +495,9 @@ static void check_sigev_none(int which, const char *nam= e) "check_sigev_none %s\n", name); } =20 -static void check_gettime(int which, const char *name) +static void check_gettime(int which) { + const char *name =3D clock_name(which); struct itimerspec its, prev; struct timespec start, now; struct sigevent sev; @@ -548,8 +549,9 @@ static void check_gettime(int which, const char *name) ksft_test_result(wraps > 1, "check_gettime %s\n", name); } =20 -static void check_overrun(int which, const char *name) +static void check_overrun(int which) { + const char *name =3D clock_name(which); struct timespec start, now; struct tmrsig tsig =3D { }; struct itimerspec its; @@ -691,7 +693,7 @@ int main(int argc, char **argv) check_itimer(ITIMER_VIRTUAL, "ITIMER_VIRTUAL"); check_itimer(ITIMER_PROF, "ITIMER_PROF"); check_itimer(ITIMER_REAL, "ITIMER_REAL"); - check_timer_create(CLOCK_THREAD_CPUTIME_ID, "CLOCK_THREAD_CPUTIME_ID"); + check_timer_create(CLOCK_THREAD_CPUTIME_ID); =20 /* * It's unfortunately hard to reliably test a timer expiration @@ -702,7 +704,7 @@ int main(int argc, char **argv) * to ensure true parallelism. So test only one thread until we * find a better solution. */ - check_timer_create(CLOCK_PROCESS_CPUTIME_ID, "CLOCK_PROCESS_CPUTIME_ID"); + check_timer_create(CLOCK_PROCESS_CPUTIME_ID); check_timer_distribution(); =20 if (run_sig_ign_tests) { @@ -710,18 +712,18 @@ int main(int argc, char **argv) check_sig_ign(1); check_rearm(); check_delete(); - check_sigev_none(CLOCK_MONOTONIC, "CLOCK_MONOTONIC"); - check_sigev_none(CLOCK_PROCESS_CPUTIME_ID, "CLOCK_PROCESS_CPUTIME_ID"); - check_gettime(CLOCK_MONOTONIC, "CLOCK_MONOTONIC"); - check_gettime(CLOCK_PROCESS_CPUTIME_ID, "CLOCK_PROCESS_CPUTIME_ID"); - check_gettime(CLOCK_THREAD_CPUTIME_ID, "CLOCK_THREAD_CPUTIME_ID"); + check_sigev_none(CLOCK_MONOTONIC); + check_sigev_none(CLOCK_PROCESS_CPUTIME_ID); + check_gettime(CLOCK_MONOTONIC); + check_gettime(CLOCK_PROCESS_CPUTIME_ID); + check_gettime(CLOCK_THREAD_CPUTIME_ID); } else { ksft_print_msg("Skipping SIG_IGN tests on kernel < 6.13\n"); } =20 - check_overrun(CLOCK_MONOTONIC, "CLOCK_MONOTONIC"); - check_overrun(CLOCK_PROCESS_CPUTIME_ID, "CLOCK_PROCESS_CPUTIME_ID"); - check_overrun(CLOCK_THREAD_CPUTIME_ID, "CLOCK_THREAD_CPUTIME_ID"); + check_overrun(CLOCK_MONOTONIC); + check_overrun(CLOCK_PROCESS_CPUTIME_ID); + check_overrun(CLOCK_THREAD_CPUTIME_ID); =20 ksft_finished(); } diff --git a/tools/testing/selftests/timers/raw_skew.c b/tools/testing/self= tests/timers/raw_skew.c index 2dd16cb..0c87a8f 100644 --- a/tools/testing/selftests/timers/raw_skew.c +++ b/tools/testing/selftests/timers/raw_skew.c @@ -25,10 +25,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - #define shift_right(x, s) ({ \ __typeof__(x) __x =3D (x); \ __typeof__(s) __s =3D (s); \ diff --git a/tools/testing/selftests/timers/set-2038.c b/tools/testing/self= tests/timers/set-2038.c index c123563..f522a30 100644 --- a/tools/testing/selftests/timers/set-2038.c +++ b/tools/testing/selftests/timers/set-2038.c @@ -27,10 +27,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - #define KTIME_MAX ((long long)~((unsigned long long)1 << 63)) #define KTIME_SEC_MAX (KTIME_MAX / NSEC_PER_SEC) =20 diff --git a/tools/testing/selftests/timers/set-timer-lat.c b/tools/testing= /selftests/timers/set-timer-lat.c index e092c18..79ddba2 100644 --- a/tools/testing/selftests/timers/set-timer-lat.c +++ b/tools/testing/selftests/timers/set-timer-lat.c @@ -28,10 +28,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL - /* CLOCK_HWSPECIFIC =3D=3D CLOCK_SGI_CYCLE (Deprecated) */ #define CLOCK_HWSPECIFIC 10 =20 @@ -44,36 +43,6 @@ struct timespec start_time; long long max_latency_ns; int timer_fired_early; =20 -char *clockstring(int clockid) -{ - switch (clockid) { - case CLOCK_REALTIME: - return "CLOCK_REALTIME"; - case CLOCK_MONOTONIC: - return "CLOCK_MONOTONIC"; - case CLOCK_PROCESS_CPUTIME_ID: - return "CLOCK_PROCESS_CPUTIME_ID"; - case CLOCK_THREAD_CPUTIME_ID: - return "CLOCK_THREAD_CPUTIME_ID"; - case CLOCK_MONOTONIC_RAW: - return "CLOCK_MONOTONIC_RAW"; - case CLOCK_REALTIME_COARSE: - return "CLOCK_REALTIME_COARSE"; - case CLOCK_MONOTONIC_COARSE: - return "CLOCK_MONOTONIC_COARSE"; - case CLOCK_BOOTTIME: - return "CLOCK_BOOTTIME"; - case CLOCK_REALTIME_ALARM: - return "CLOCK_REALTIME_ALARM"; - case CLOCK_BOOTTIME_ALARM: - return "CLOCK_BOOTTIME_ALARM"; - case CLOCK_TAI: - return "CLOCK_TAI"; - } - return "UNKNOWN_CLOCKID"; -} - - long long timespec_sub(struct timespec a, struct timespec b) { long long ret =3D NSEC_PER_SEC * b.tv_sec + b.tv_nsec; @@ -104,7 +73,7 @@ void sigalarm(int signo) void describe_timer(int flags, int interval) { printf("%-22s %s %s ", - clockstring(clock_id), + clock_name(clock_id), flags ? "ABSTIME":"RELTIME", interval ? "PERIODIC":"ONE-SHOT"); } @@ -130,12 +99,12 @@ int setup_timer(int clock_id, int flags, int interval,= timer_t *tm1) if ((clock_id =3D=3D CLOCK_REALTIME_ALARM) || (clock_id =3D=3D CLOCK_BOOTTIME_ALARM)) { printf("%-22s %s missing CAP_WAKE_ALARM? : [UNSUPPORTED]\n", - clockstring(clock_id), + clock_name(clock_id), flags ? "ABSTIME":"RELTIME"); /* Indicate timer isn't set, so caller doesn't wait */ return 1; } - printf("%s - timer_create() failed\n", clockstring(clock_id)); + printf("%s - timer_create() failed\n", clock_name(clock_id)); return -1; } =20 @@ -152,7 +121,7 @@ int setup_timer(int clock_id, int flags, int interval, = timer_t *tm1) =20 err =3D timer_settime(*tm1, flags, &its1, &its2); if (err) { - printf("%s - timer_settime() failed\n", clockstring(clock_id)); + printf("%s - timer_settime() failed\n", clock_name(clock_id)); return -1; } =20 diff --git a/tools/testing/selftests/timers/valid-adjtimex.c b/tools/testin= g/selftests/timers/valid-adjtimex.c index dc2559e..f641d5f 100644 --- a/tools/testing/selftests/timers/valid-adjtimex.c +++ b/tools/testing/selftests/timers/valid-adjtimex.c @@ -29,11 +29,9 @@ #include #include #include +#include "clock-helpers.h" #include "kselftest.h" =20 -#define NSEC_PER_SEC 1000000000LL -#define USEC_PER_SEC 1000000LL - #define ADJ_SETOFFSET 0x0100 =20 #include