perf, bpf: minimize the size of perf_trace_() tracepoint handler
authorAlexei Starovoitov <ast@fb.com>
Tue, 19 Apr 2016 03:11:50 +0000 (20:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Apr 2016 17:48:20 +0000 (13:48 -0400)
commit85b67bcb7e4a23ced05e7020bf5843b9857f6881
tree5cb64f3464f1beeed2f950cc3cc2f41b121de2bf
parentc60c9840423f32117a5422511c53c39df0b4d1dd
perf, bpf: minimize the size of perf_trace_() tracepoint handler

move trace_call_bpf() into helper function to minimize the size
of perf_trace_*() tracepoint handlers.
    text    data     bss     dec      hex filename
10541679 5526646 2945024 19013349 1221ee5 vmlinux_before
10509422 5526646 2945024 18981092 121a0e4 vmlinux_after

It may seem that perf_fetch_caller_regs() can also be moved,
but that is incorrect, since ip/sp will be wrong.

bpf+tracepoint performance is not affected, since
perf_swevent_put_recursion_context() is now inlined.
export_symbol_gpl can also be dropped.

No measurable change in normal perf tracepoints.

Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/trace_events.h
include/trace/perf.h
kernel/events/core.c