Re: [PATCH v2 4/4] clock: add perf_clock posix clock

John Stultz
2015-02-18T18:00:51Z

On Wed, Feb 18, 2015 at 9:21 AM, Stephane Eranian <eranian@google.com> wrote:
> This patch is a re-packaging of David's Ahern
> posix perf clock available here:
>
> https://github.com/dsahern/linux/blob/perf-full-monty/README.ahern
>
> The patch itself is based on Pawel Moll's original post:
>
> https://lkml.org/lkml/2013/3/14/523
>
> The new clock is call PERF_CLOCK. To use it
>
> #include <time.h>
> #include <linux/time.h>
>
> struct timespec ts;
>
> clock_gettime(PERF_CLOCK, &ts);

I'd still strongly recommend against exposing the perf clock to
userspace this way. The time domain isn't clearly different from
something like CLOCK_MONOTONIC_RAW and doesn't really have well
defined behavior. We're just exporting "whatever the kernel does
internally" to userspace, and in the past similar internal use clocks
like the sched_clock have changed their behavior, so I'm not confident
the perf clock is really baked enough (including cross architectures)
to make it part of the ABI.

Pawel and others have continued to work on other approaches that allow
for perf events to be interpolated to, or use CLOCK_MONOTONIC itself,
which I don't object to, so you might want to follow up on those?

thanks
-john