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

From: Stephane Eranian
Date: Wed Feb 18 2015 - 13:11:05 EST


On Wed, Feb 18, 2015 at 1:00 PM, John Stultz <john.stultz@xxxxxxxxxx> wrote:
> On Wed, Feb 18, 2015 at 9:21 AM, Stephane Eranian <eranian@xxxxxxxxxx> 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?
>
Personally, I don't have a preference. I want something that is EASY to
correlate to the perf_events timestamp and that is PORTABLE across
architectures. Where is the patch that uses CLOCK_MONOTONIC?
I assume it changes the clock used by perf_events and I further assume
this clock can be read from NMI context (without requiring locking).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/