Re: [PATCH v4 3/3] perf: Sample additional clock value
From: John Stultz <hidden>
Date: 2015-01-21 18:05:12
Also in:
lkml
On Wed, Jan 21, 2015 at 9:54 AM, Pawel Moll [off-list ref] wrote:
On Wed, 2015-01-21 at 17:44 +0000, John Stultz wrote:quoted
That said, there is the dynamic posix clockids. I'm not sure if it would make sense, but even if we don't bump MAX_CLOCKS, might there be some case where someone wants to use a dynamic posix clock for the perf reference?If I remember correctly, last time I tried to use dynamic posix clocks in the perf context, one needed to open a ptp character device in order to get a file descriptor, than translated into a clockid_t value - correct me if I'm wrong. But here you get the fd from the sys_perf_open() and clock_*() doesn't know anything about such descriptor.
Sorry for losing context here then. Yes, the dynamic clockid has to be exported via some other interface to userland (likely via the driver that provides it), but once the id is known it can be used via the clock_*() functions. I was thinking here since the perf_event_attr wants to associate with a clockid, including the possibility for dynamic clockids would be wise, but I didn't read closely enough to see how that clockid was specified.
I was looking into a way of associating a random clock with a random fd, so that perf could "attach" itself to the clock API at will, but it turned out not to be trivial (I'd have to dig through old threads to remember all the nasty details). The good thing is that it looks like the immediate need for this was no more, with perf using monotonic clock as the clock source. It will come back when we get into hardware trace correlation, but one step at a time...
Ok. I'm eager to see this settled (and the current approach I don't have any objections to, although I'm not paying super close attention now that its all in the perf core). I know this has taken far longer then you'd have liked, so thanks for your persistence! -john