> I took a look at this and forced some more functions to be inlined. I > did a little tweaking here and there. Could you pull my tree and see if > things are better? I don't currently have the hardware to run this > myself. > > git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace.git > > branch: ftrace/core
Didn't help much unfortunately. I think you need a real fast path here. http://halobates.de/tracepoint-trace2 $ wc -l tracepoint-trace2 595 tracepoint-trace2 Opcode Histogram: 201 mov 51 push 51 pop 34 test 32 cmp 26 jz 24 jnz 24 and 16 ret 16 lea 15 call 12 add 10 jmp Functions with # of instructions: 25 trace_event_raw_event_sched_switch 19 trace_event_buffer_reserve 21 trace_event_buffer_lock_reserve 57 ring_buffer_lock_reserve 3 trace_clock_local 3 sched_clock 24 native_sched_clock 3 sched_clock 2 trace_clock_local 11 ring_buffer_lock_reserve 81 __rb_reserve_next 11 ring_buffer_lock_reserve 6 trace_event_buffer_lock_reserve 18 ring_buffer_event_data 5 trace_event_buffer_lock_reserve 38 tracing_generic_entry_update 11 trace_event_buffer_lock_reserve 5 trace_event_buffer_reserve 18 ring_buffer_event_data 4 trace_event_buffer_reserve 28 trace_event_raw_event_sched_switch 30 trace_event_buffer_commit 19 trace_buffer_unlock_commit_regs 11 ring_buffer_unlock_commit 85 rb_commit 18 ring_buffer_unlock_commit 10 trace_buffer_unlock_commit_regs 3 ftrace_trace_userstack 7 trace_buffer_unlock_commit_regs 11 trace_event_buffer_commit 8 trace_event_raw_event_sched_switch -Andi