public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: Mark Harris <mark.hsj@gmail.com>
Cc: linux-man@vger.kernel.org,
	 Adhemerval Zanella <adhemerval.zanella@linaro.org>
Subject: Re: [PATCH] man/man3/timespec_get.3: Add ISO C23 time bases
Date: Wed, 28 Jan 2026 15:57:52 +0100	[thread overview]
Message-ID: <aXoixaxyo_OkBRJ_@devuan> (raw)
In-Reply-To: <1b8aea00296c530f2a3a79158a98d44a46a795e5.1769581372.git.mark.hsj@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4100 bytes --]

Hi Mark,

On 2026-01-27T22:42:21-0800, Mark Harris wrote:
> Document new time bases TIME_MONOTONIC, TIME_ACTIVE, and
> TIME_THREAD_ACTIVE, introduced in ISO C23 and supported by
> glibc 2.43.[1]
> 
> [1] <https://sourceware.org/git/?p=glibc.git;a=commit;h=f28a11e43f40>
> 
> Signed-off-by: Mark Harris <mark.hsj@gmail.com>

Thanks!

> ---
>  man/man3/timespec_get.3 | 64 ++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 57 insertions(+), 7 deletions(-)
> 
> diff --git a/man/man3/timespec_get.3 b/man/man3/timespec_get.3
> index 79bb82226..d2be50fd4 100644
> --- a/man/man3/timespec_get.3
> +++ b/man/man3/timespec_get.3
> @@ -17,6 +17,25 @@ .SH SYNOPSIS
>  .BI "int timespec_get(struct timespec *" res ", int " base );
>  .BI "int timespec_getres(struct timespec *" tp ", int " base );
>  .fi
> +.P
> +.RS -4
> +Feature Test Macro Requirements for glibc (see
> +.BR feature_test_macros (7)):
> +.RE
> +.P
> +.BR timespec_get (),
> +.BR TIME_UTC :
> +.nf
> +    _ISOC11_SOURCE
> +.fi
> +.P
> +.BR timespec_getres (),
> +.BR TIME_MONOTONIC ,
> +.BR TIME_ACTIVE ,
> +.BR TIME_THREAD_ACTIVE :
> +.nf
> +    _ISOC23_SOURCE
> +.fi
>  .SH DESCRIPTION
>  The
>  .BR timespec_get ()

LGTM.  But would you mind separating the patch into one that reformats
the page without adding the new time bases, and then one patch that adds
the new time bases?

> @@ -39,16 +58,49 @@ .SH DESCRIPTION
>  For a particular time base,
>  the resolution is constant for the lifetime of the calling process.
>  .P
> +The time base
> +.I base
> +is one of the following:
> +.TP

Same here.  I'd like this to be part of a pre-patch.

>  .B TIME_UTC
> -is always a supported time base,
> -and is the only time base supported on Linux.
> +A system-wide time base that measures real (i.e., wall-clock) time.
>  The time and resolution in this time base
>  are the same as those retrieved by
>  .I clock_gettime(CLOCK_REALTIME,\~res)
>  and
>  .IR clock_getres(CLOCK_REALTIME,\~tp) ,
>  respectively.
> -Other systems may support additional time bases.
> +.TP
> +.BR TIME_MONOTONIC " (since glibc 2.43)"
> +A time base that measures time since an unspecified point in the past,
> +where the time within a process will not decrease even if the
> +system's real time clock is set or adjusted.
> +The time and resolution in this time base
> +are the same as those retrieved by
> +.I clock_gettime(CLOCK_MONOTONIC,\~res)
> +and
> +.IR clock_getres(CLOCK_MONOTONIC,\~tp) ,
> +respectively.
> +.TP
> +.BR TIME_ACTIVE " (since glibc 2.43)"
> +A process-specific time base that measures CPU time consumed by
> +the calling process.
> +The time and resolution in this time base
> +are the same as those retrieved by
> +.I clock_gettime(CLOCK_PROCESS_CPUTIME_ID,\~res)
> +and
> +.IR clock_getres(CLOCK_PROCESS_CPUTIME_ID,\~tp) ,
> +respectively.
> +.TP
> +.BR TIME_THREAD_ACTIVE " (since glibc 2.43)"
> +A thread-specific time base that measures CPU time consumed by
> +the calling thread.
> +The time and resolution in this time base
> +are the same as those retrieved by
> +.I clock_gettime(CLOCK_THREAD_CPUTIME_ID,\~res)
> +and
> +.IR clock_getres(CLOCK_THREAD_CPUTIME_ID,\~tp) ,
> +respectively.
>  .SH RETURN VALUE
>  .BR timespec_get ()
>  returns the nonzero
> @@ -78,9 +130,9 @@ .SH ATTRIBUTES
>  .SH STANDARDS
>  .TP
>  .BR timespec_get ()
> -.TQ
> +C23 (though ISO C doesn't specify the
>  .B TIME_UTC
> -C23 (though ISO C doesn't specify the time epoch),
> +epoch),

I don't understand this change.  Could you please clarify?

>  POSIX.1-2024.
>  .TP
>  .BR timespec_getres ()
> @@ -88,8 +140,6 @@ .SH STANDARDS
>  .SH HISTORY
>  .TP
>  .BR timespec_get ()
> -.TQ
> -.B TIME_UTC
>  C11, POSIX.1-2024, glibc 2.16, musl 1.1.10.

I'd like to have the new bases documented in HISTORY, which will allow
documenting also support in musl and other libraries.


Have a lovely day!
Alex

>  .TP
>  .BR timespec_getres ()
> -- 
> 2.52.0
> 
> 

-- 
<https://www.alejandro-colomar.es>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2026-01-28 14:57 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-28  6:42 [PATCH] man/man3/timespec_get.3: Add ISO C23 time bases Mark Harris
2026-01-28 14:57 ` Alejandro Colomar [this message]
2026-01-28 17:35   ` Mark Harris
2026-01-28 17:33 ` [PATCH v2 1/2] man/man3/timespec_get.3: Refactor to prepare for new " Mark Harris
2026-01-28 17:33   ` [PATCH v2 2/2] man/man3/timespec_get.3: Add ISO C23 " Mark Harris
2026-01-29 15:28   ` [PATCH v2 1/2] man/man3/timespec_get.3: Refactor to prepare for new " Alejandro Colomar
2026-01-29 16:58     ` Mark Harris
2026-01-29 16:52 ` [PATCH v3 " Mark Harris
2026-01-29 16:52   ` [PATCH v3 2/2] man/man3/timespec_get.3: Add ISO C23 " Mark Harris
2026-02-10 23:01     ` Alejandro Colomar
2026-02-10 22:53   ` [PATCH v3 1/2] man/man3/timespec_get.3: Refactor to prepare for new " Alejandro Colomar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aXoixaxyo_OkBRJ_@devuan \
    --to=alx@kernel.org \
    --cc=adhemerval.zanella@linaro.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mark.hsj@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox