Messages in this thread | | | Date | Tue, 1 Mar 2011 14:09:41 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: [PATCH 3/6] perf record: add time-of-day option |
| |
Em Tue, Mar 01, 2011 at 02:07:50PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Tue, Mar 01, 2011 at 09:45:27AM -0700, David Ahern escreveu: > > On 03/01/2011 09:37 AM, Peter Zijlstra wrote: > > > On Tue, 2011-03-01 at 09:09 -0700, David Ahern wrote: > > >> > > >> I did not code it create samples of a realtime-clock event; I coded it > > >> to add an event to the stream on demand -- whatever event the fd is > > >> tied to. > > >> > > >> > > > Well yes, but aside from you and the realtime clock stuff, who'd ever > > > want to do this particular thing? > > > > One example would be a system watchdog that decided for some reason or > > another to force an event sample because of some event it detected. > > > > > > > > I'd much rather expose the whole > > > local_clock()/perf_clock()/trace_clock() (should all be the same anyway) > > > as a posix clock using CLOCK_TRACING or whatever would be an appropriate > > > name. > > > > > > [ Since the whole thing is NMI safe it should be well possible to make a > > > VDSO version as well. ] > > > > > > Anyway, once its visible as a posix clock you can sync up from > > > userspace. And this clock is indeed wanted for other things too, like > > > user-space tracing etc. > > > > > > > And for some silly reason I sense a time trap here (pun intended) ..... > > > > So your pushback is: > > 1. throw out the realtime-clock event patch, > > Nope > > > 2. add a new CLOCK_TRACING type to clock_gettime with VDSO hook, > > Yes > > > 3. and use a synthesized event from userspace for snapshotting > > perf_clock to time-of-day -- similar to what I have now, but one that > > will guarantee a time-of-day to perf_clock correlation (versus the > > current one which hopes that perf_clock is the monotonic clock). > > Nope.
I see, yeah, the very first CLOCK_REALTIME sample would be synthesized from the return of clock_gettime(CLOCK_TRACING), all the others would come in the event stream.
> My understanding was that for the initial gettime you use > clock_gettime(), and then you get CLOCK_REALTIME events in the stream > for resynch, etc. > > Peter? > > - Arnaldo
| |