summaryrefslogtreecommitdiffstats
path: root/include/trace/perf.h
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@fb.com>2016-04-06 18:43:24 -0700
committerDavid S. Miller <davem@davemloft.net>2016-04-07 21:04:26 -0400
commit1e1dcd93b468901e114f279c94a0b356adc5e7cd (patch)
treeb0bee9a35251caacc44d9a3ffbbae90e8afb237d /include/trace/perf.h
parente93735be6a1898dd9f8de8f55254cc76309777ce (diff)
downloadop-kernel-dev-1e1dcd93b468901e114f279c94a0b356adc5e7cd.zip
op-kernel-dev-1e1dcd93b468901e114f279c94a0b356adc5e7cd.tar.gz
perf: split perf_trace_buf_prepare into alloc and update parts
split allows to move expensive update of 'struct trace_entry' to later phase. Repurpose unused 1st argument of perf_tp_event() to indicate event type. While splitting use temp variable 'rctx' instead of '*rctx' to avoid unnecessary loads done by the compiler due to -fno-strict-aliasing Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/trace/perf.h')
-rw-r--r--include/trace/perf.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/trace/perf.h b/include/trace/perf.h
index 6f7e378..77cd904 100644
--- a/include/trace/perf.h
+++ b/include/trace/perf.h
@@ -53,8 +53,7 @@ perf_trace_##call(void *__data, proto) \
sizeof(u64)); \
__entry_size -= sizeof(u32); \
\
- entry = perf_trace_buf_prepare(__entry_size, \
- event_call->event.type, &__regs, &rctx); \
+ entry = perf_trace_buf_alloc(__entry_size, &__regs, &rctx); \
if (!entry) \
return; \
\
@@ -64,8 +63,9 @@ perf_trace_##call(void *__data, proto) \
\
{ assign; } \
\
- perf_trace_buf_submit(entry, __entry_size, rctx, 0, \
- __count, __regs, head, __task); \
+ perf_trace_buf_submit(entry, __entry_size, rctx, \
+ event_call->event.type, __count, __regs, \
+ head, __task); \
}
/*
OpenPOWER on IntegriCloud