Messages in this thread | | | Date | Wed, 11 Dec 2013 20:49:00 -0500 | From | Steven Rostedt <> | Subject | Re: [RFC PATCH] drivers: char: Add a dynamic clock for the trace clock |
| |
On Wed, 11 Dec 2013 17:17:30 -0800 Sonny Rao <sonnyrao@chromium.org> wrote:
> On Wed, Dec 11, 2013 at 11:30 AM, Stephane Eranian <eranian@google.com> wrote: > > Sonny, > > > > Your patch has a couple of problems for me: > > - requires CONFIG_TRACING > > > > You should directly invoke getrawmonotonic() > > and inline the code from trace_clock_getres(). > > > > That's how I managed to compile your kernel module on my system. > > You need the changes in kernel/trace/trace.c which is why it's > dependent on CONFIG_TRACING. > If we put those functions elsewhere we could remove that dependency, > but it sounds like people want to just fix the clock that perf uses so > that it's exportable and not handle this with something like this > patch, which is better.
I have no issue moving the trace_clock.c code into lib/ and we can add a CONFIG_TRACE_CLOCK option that can be set by perf and ftrace.
> > Also, we should ensure that perf and ftrace are guaranteed to use the > same clock, I think it just happens to be the same right now.
ftrace has several clocks that it uses:
o local - basically sched_clock() o global - something like hpet that is monotonic across CPUs but slower o counter - a simple atomic counter (no time associated to it) o uptime - jiffy counter o perf - trace_clock, which is what perf uses o x86_tsc - the raw tsc counter.
# cat /sys/kernel/debug/trace_clock [local] global counter uptime perf x86-tsc
-- Steve
| |