Subject: Re: clock_gettime.2: _COARSE clocks are not always faster...

From: "Michael Kerrisk (man-pages)" <[email-masked]>
Date: Mon, 18 Apr 2016 16:23:24 +0100

On 04/18/2016 04:12 PM, Michael Kerrisk (man-pages) wrote:
> Hello Rasmus,
> 
> On 04/09/2016 05:50 PM, Rasmus Villemoes wrote:
>> Hi Michael
>>
>> The other day, I was curious how the vdso was implemented on ppc, and I
>> noted that neither ppc32 or ppc64 handle the _COARSE versions of
>> CLOCK_{REALTIME,MONOTONIC} in the vdso, so they fall back to an actual
>> syscall. And sure enough, measuring CLOCK_MONOTONIC
>> vs. CLOCK_MONOTONIC_COARSE shows that the latter has three times as much
>> overhead as the former.
>>
>> Whether it's worth adding a note to the man page is up to you.
> 
> I think it's useful to do so. For both *COARSE flags, I added:
> 
> [[
> Requires per-architecture support, and probably also architecture support
> for this flag in the vdso(7).
> ]]

And in the PowerPC sections of vdso(7), I added:

       The CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE clocks are
       not   supported   by   the   __kernel_clock_getres  and  __ker‐
       nel_clock_gettime interfaces; the kernel falls back to the real
       system call.

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/