Messages in this thread | | | Date | Mon, 21 Nov 2016 14:15:17 -0500 | From | Steven Rostedt <> | Subject | Re: [BUG] msr-trace.h:42 suspicious rcu_dereference_check() usage! |
| |
On Mon, 21 Nov 2016 10:37:00 -0800 Andi Kleen <andi@firstfloor.org> wrote:
> Just adding a few inlines won't fix the gigantic bloat that is currently > there. See the PT trace I posted earlier (it was even truncated, it's > actually worse). Just a single enabled trace point took about a us.
If you want to play with that, enable "Add tracepoint that benchmarks tracepoints", and enable /sys/kernel/debug/tracing/events/benchmark
I just did on my box, and I have a max of 1.27 us, average .184 us.
Thus, on average, a tracepoint takes 184 nanoseconds.
Note, a cold cache tracepoint (the first one it traced which is not saved in the "max") was 3.3 us.
Yes it can still be improved, and I do spend time doing that.
> > POPF can cause some serializion but it won't be more than a few tens > of cycles, which would be a few percent at best. > > Here is it again untruncated: > > http://halobates.de/tracepoint-trace
There's a lot of push and pop regs due to function calling. There's places that inlines can still improve things, and perhaps even some likely unlikelys well placed.
-- Steve
| |