git: 5918f4865267 - stable/13 - clock_gettime: Add Linux aliases for CLOCK_*

Warner Losh imp at FreeBSD.org
Sun Sep 12 16:35:30 UTC 2021


The branch stable/13 has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=5918f486526733f011c7cd507e5859a5d70a1cfb

commit 5918f486526733f011c7cd507e5859a5d70a1cfb
Author:     Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-07-30 23:11:43 +0000
Commit:     Warner Losh <imp at FreeBSD.org>
CommitDate: 2021-09-12 15:56:16 +0000

    clock_gettime: Add Linux aliases for CLOCK_*
    
    Linux standardized what we call CLOCK_{REALTIME,MONOTONIC}_FAST as
    CLOCK_{REALTIME,MONOTONIC}_COARSE. In addition, Linux spells
    CLOCK_UPTIME as CLOCK_BOOTTIME.
    
    Add aliases to time.h and document these new aliases in
    clock_gettime(2).
    
    Reviewed by:            vangyzen, kib (prior), dchagin (prior)
    Sponsored by:           Netflix
    Differential Revision:  https://reviews.freebsd.org/D30988
    
    (cherry picked from commit 155f15118a77d2aeab7b177ada78c848778d7d80)
---
 lib/libc/sys/clock_gettime.2 | 15 ++++++++++++++-
 sys/sys/_clock_id.h          |  9 +++++++++
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/lib/libc/sys/clock_gettime.2 b/lib/libc/sys/clock_gettime.2
index 6dca19449be9..12be3c321a75 100644
--- a/lib/libc/sys/clock_gettime.2
+++ b/lib/libc/sys/clock_gettime.2
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 7, 2019
+.Dd July 30, 2021
 .Dt CLOCK_GETTIME 2
 .Os
 .Sh NAME
@@ -68,14 +68,17 @@ as well as the following values:
 .It Dv CLOCK_REALTIME
 .It Dv CLOCK_REALTIME_PRECISE
 .It Dv CLOCK_REALTIME_FAST
+.It Dv CLOCK_REALTIME_COARSE
 Increments as a wall clock should.
 .It Dv CLOCK_MONOTONIC
 .It Dv CLOCK_MONOTONIC_PRECISE
 .It Dv CLOCK_MONOTONIC_FAST
+.It Dv CLOCK_MONOTONIC_COARSE
 Increments in SI seconds.
 .It Dv CLOCK_UPTIME
 .It Dv CLOCK_UPTIME_PRECISE
 .It Dv CLOCK_UPTIME_FAST
+.It Dv CLOCK_BOOTTIME
 Starts at zero when the kernel boots and increments
 monotonically in SI seconds while the machine is running.
 .It Dv CLOCK_VIRTUAL
@@ -104,6 +107,16 @@ Similarly,
 .Fa CLOCK_UPTIME_PRECISE
 are used to get the most exact value as possible, at the expense of
 execution time.
+The clock IDs
+.Fa CLOCK_REALTIME_COARSE ,
+.Fa CLOCK_MONOTONIC_COARSE
+are aliases of corresponding IDs with _FAST suffix for compatibility with other
+systems.
+Finally,
+.Dv CLOCK_BOOTTIME
+is an alias for
+.Dv CLOCK_UPTIME
+for compatibility with other systems.
 .Pp
 The structure pointed to by
 .Fa tp
diff --git a/sys/sys/_clock_id.h b/sys/sys/_clock_id.h
index f0a25ce0f3f1..a88eb063122f 100644
--- a/sys/sys/_clock_id.h
+++ b/sys/sys/_clock_id.h
@@ -85,6 +85,15 @@
 #define	CLOCK_PROCESS_CPUTIME_ID 15
 #endif /* __POSIX_VISIBLE >= 199309 */
 
+/*
+ * Linux compatible names.
+ */
+#if __BSD_VISIBLE
+#define	CLOCK_BOOTTIME		CLOCK_UPTIME
+#define	CLOCK_REALTIME_COARSE	CLOCK_REALTIME_FAST
+#define	CLOCK_MONOTONIC_COARSE	CLOCK_MONOTONIC_FAST
+#endif
+
 #if __BSD_VISIBLE
 #define TIMER_RELTIME	0x0	/* relative timer */
 #endif


More information about the dev-commits-src-branches mailing list