LTTng modularization, import of lttng 0.226
[lttng-modules.git] / probes / rcu-trace.c
1 /*
2 * ltt/probes/rcu-trace.c
3 *
4 * RCU tracepoint probes.
5 *
6 * (C) Copyright 2009 - Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
7 * Dual LGPL v2.1/GPL v2 license.
8 */
9
10 #include <linux/module.h>
11 #include <trace/rcu.h>
12
13 #ifdef CONFIG_TREE_RCU
14 void probe_rcu_tree_callback(void *data, struct rcu_head *head)
15 {
16 trace_mark_tp(rcu, tree_callback, rcu_tree_callback,
17 probe_rcu_tree_callback, "func %p", head->func);
18 }
19
20 void probe_rcu_tree_call_rcu(void *data, struct rcu_head *head, unsigned long ip)
21 {
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);
24 }
25
26 void probe_rcu_tree_call_rcu_bh(void *data, struct rcu_head *head, unsigned long ip)
27 {
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",
30 head->func, ip);
31 }
32 #endif
33
34 MODULE_LICENSE("GPL and additional rights");
35 MODULE_AUTHOR("Mathieu Desnoyers");
36 MODULE_DESCRIPTION("RCU Tracepoint Probes");
This page took 0.029875 seconds and 4 git commands to generate.