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

From: John Stultz
Date: Wed Feb 18 2015 - 13:15:32 EST


On Wed, Feb 18, 2015 at 10:10 AM, Stephane Eranian <eranian@xxxxxxxxxx> wrote:
> 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).

I believe it can be found here:
https://lkml.org/lkml/2015/1/21/711

thanks
-john
--
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/