git: 155f15118a77 - main - clock_gettime: Add Linux aliases for CLOCK_*
Warner Losh
imp at FreeBSD.org
Sat Jul 31 00:03:52 UTC 2021
The branch main has been updated by imp:
URL: https://cgit.FreeBSD.org/src/commit/?id=155f15118a77d2aeab7b177ada78c848778d7d80
commit 155f15118a77d2aeab7b177ada78c848778d7d80
Author: Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-07-30 23:11:43 +0000
Commit: Warner Losh <imp at 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
More information about the dev-commits-src-all
mailing list