mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 13:41:30 +00:00
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>
This commit is contained in:
parent
e93735be6a
commit
1e1dcd93b4
8 changed files with 49 additions and 42 deletions
|
@ -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); \
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue