2 * ltt/probes/rcu-trace.c
4 * RCU tracepoint probes.
6 * (C) Copyright 2009 - Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
7 * Dual LGPL v2.1/GPL v2 license.
10 #include <linux/module.h>
11 #include <trace/rcu.h>
13 #ifdef CONFIG_TREE_RCU
14 void probe_rcu_tree_callback(void *data
, struct rcu_head
*head
)
16 trace_mark_tp(rcu
, tree_callback
, rcu_tree_callback
,
17 probe_rcu_tree_callback
, "func %p", head
->func
);
20 void probe_rcu_tree_call_rcu(void *data
, struct rcu_head
*head
, unsigned long ip
)
22 trace_mark_tp(rcu
, tree_call_rcu
, rcu_tree_call_rcu
,
23 probe_rcu_tree_call_rcu
, "func %p ip 0x%lX", head
->func
, ip
);
26 void probe_rcu_tree_call_rcu_bh(void *data
, struct rcu_head
*head
, unsigned long ip
)
28 trace_mark_tp(rcu
, tree_call_rcu_bh
, rcu_tree_call_rcu_bh
,
29 probe_rcu_tree_call_rcu_bh
, "func %p ip 0x%lX",
34 MODULE_LICENSE("GPL and additional rights");
35 MODULE_AUTHOR("Mathieu Desnoyers");
36 MODULE_DESCRIPTION("RCU Tracepoint Probes");