Commit-ID: 5ba9ac8e2c45ab165e5b4a246f4821d319656e9d
Gitweb:
http://git.kernel.org/tip/5ba9ac8e2c45ab165e5b4a246f4821d319656e9d
Author: Thomas Gleixner <
tg...@linutronix.de>
AuthorDate: Fri, 26 Feb 2016 18:43:27 +0000
Committer: Thomas Gleixner <
tg...@linutronix.de>
CommitDate: Tue, 1 Mar 2016 20:36:54 +0100
cpu/hotplug: Add tracepoints
We want to trace the hotplug machinery. Add tracepoints to track the
invocation of callbacks and their result.
Signed-off-by: Thomas Gleixner <
tg...@linutronix.de>
Cc:
linux...@vger.kernel.org
Cc: Rik van Riel <
ri...@redhat.com>
Cc: Rafael Wysocki <
rafael.j...@intel.com>
Cc: "Srivatsa S. Bhat" <
sriv...@mit.edu>
Cc: Peter Zijlstra <
pet...@infradead.org>
Cc: Arjan van de Ven <
ar...@linux.intel.com>
Cc: Sebastian Siewior <
big...@linutronix.de>
Cc: Rusty Russell <
ru...@rustcorp.com.au>
Cc: Steven Rostedt <
ros...@goodmis.org>
Cc: Oleg Nesterov <
ol...@redhat.com>
Cc: Tejun Heo <
t...@kernel.org>
Cc: Andrew Morton <
ak...@linux-foundation.org>
Cc: Paul McKenney <
pau...@linux.vnet.ibm.com>
Cc: Linus Torvalds <
torv...@linux-foundation.org>
Cc: Paul Turner <
p...@google.com>
Link:
http://lkml.kernel.org/r/201602261823...@linutronix.de
Signed-off-by: Thomas Gleixner <
tg...@linutronix.de>
---
include/trace/events/cpuhp.h | 66 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/include/trace/events/cpuhp.h b/include/trace/events/cpuhp.h
new file mode 100644
index 0000000..a72bd93
--- /dev/null
+++ b/include/trace/events/cpuhp.h
@@ -0,0 +1,66 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM cpuhp
+
+#if !defined(_TRACE_CPUHP_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_CPUHP_H
+
+#include <linux/tracepoint.h>
+
+TRACE_EVENT(cpuhp_enter,
+
+ TP_PROTO(unsigned int cpu,
+ int target,
+ int idx,
+ int (*fun)(unsigned int)),
+
+ TP_ARGS(cpu, target, idx, fun),
+
+ TP_STRUCT__entry(
+ __field( unsigned int, cpu )
+ __field( int, target )
+ __field( int, idx )
+ __field( void *, fun )
+ ),
+
+ TP_fast_assign(
+ __entry->cpu = cpu;
+ __entry->target = target;
+ __entry->idx = idx;
+ __entry->fun = fun;
+ ),
+
+ TP_printk("cpu: %04u target: %3d step: %3d (%pf)",
+ __entry->cpu, __entry->target, __entry->idx, __entry->fun)
+);
+
+TRACE_EVENT(cpuhp_exit,
+
+ TP_PROTO(unsigned int cpu,
+ int state,
+ int idx,
+ int ret),
+
+ TP_ARGS(cpu, state, idx, ret),
+
+ TP_STRUCT__entry(
+ __field( unsigned int, cpu )
+ __field( int, state )
+ __field( int, idx )
+ __field( int, ret )
+ ),
+
+ TP_fast_assign(
+ __entry->cpu = cpu;
+ __entry->state = state;
+ __entry->idx = idx;
+ __entry->ret = ret;
+ ),
+
+ TP_printk(" cpu: %04u state: %3d step: %3d ret: %d",
+ __entry->cpu, __entry->state, __entry->idx, __entry->ret)
+);
+
+#endif
+
+/* This part must be outside protection */
+#include <trace/define_trace.h>