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
This commit is contained in:
Warner Losh 2021-07-30 17:11:43 -06:00
parent 7b797ba27a
commit 155f15118a
2 changed files with 23 additions and 1 deletions

View file

@ -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

View file

@ -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