]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/trace/ftrace.h
perf, trace: Optimize tracepoints by using per-tracepoint-per-cpu hlist to track...
[net-next-2.6.git] / include / trace / ftrace.h
index f282885057ddce502209f17366d0d7114eaa35c8..4eb2148f13216b0d06c15b28891a76460812fbef 100644 (file)
@@ -768,6 +768,7 @@ perf_trace_templ_##call(struct ftrace_event_call *event_call,               \
        struct ftrace_data_offsets_##call __maybe_unused __data_offsets;\
        struct ftrace_raw_##call *entry;                                \
        u64 __addr = 0, __count = 1;                                    \
+       struct hlist_head *head;                                        \
        int __entry_size;                                               \
        int __data_size;                                                \
        int rctx;                                                       \
@@ -790,8 +791,9 @@ perf_trace_templ_##call(struct ftrace_event_call *event_call,               \
                                                                        \
        { assign; }                                                     \
                                                                        \
+       head = per_cpu_ptr(event_call->perf_events, smp_processor_id());\
        perf_trace_buf_submit(entry, __entry_size, rctx, __addr,        \
-                              __count, __regs, event_call->perf_data); \
+               __count, __regs, head);                                 \
 }
 
 #undef DEFINE_EVENT