Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Jul 2021 00:03:51 GMT
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 155f15118a77 - main - clock_gettime: Add Linux aliases for CLOCK_*
Message-ID:  <202107310003.16V03pAc024519@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=155f15118a77d2aeab7b177ada78c848778d7d80

commit 155f15118a77d2aeab7b177ada78c848778d7d80
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2021-07-30 23:11:43 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2021-07-30 23:20:22 +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
---
 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 4552819ea902..d620ed0f03f2 100644
--- a/lib/libc/sys/clock_gettime.2
+++ b/lib/libc/sys/clock_gettime.2
@@ -29,7 +29,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 13, 2021
+.Dd July 1, 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107310003.16V03pAc024519>