aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/trace_sched_switch.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2008-10-31 08:28:58 -0400
committerIngo Molnar <mingo@elte.hu>2008-11-04 11:14:07 -0500
commitefade6e7821c4219818e9da08f9315dfa617048b (patch)
tree822e2cc2491d38f082d05a015758263f9bb194b3 /kernel/trace/trace_sched_switch.c
parentd7ad44b697c9d13e445ddc7d16f736fbac333249 (diff)
tracing/ftrace: types and naming corrections for sched tracer
Impact: cleanup This patch applies some corrections suggested by Steven Rostedt. Change the type of shed_ref into int since it is used into a Mutex, we don't need it anymore as an atomic variable in the sched_switch tracer. Also change the name of the register mutex. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace/trace_sched_switch.c')
-rw-r--r--kernel/trace/trace_sched_switch.c30
1 files changed, 13 insertions, 17 deletions
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index 9d7bdac331dd..969953bf678f 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -16,8 +16,8 @@
16 16
17static struct trace_array *ctx_trace; 17static struct trace_array *ctx_trace;
18static int __read_mostly tracer_enabled; 18static int __read_mostly tracer_enabled;
19static atomic_t sched_ref; 19static int sched_ref;
20static DEFINE_MUTEX(tracepoint_mutex); 20static DEFINE_MUTEX(sched_register_mutex);
21 21
22static void 22static void
23probe_sched_switch(struct rq *__rq, struct task_struct *prev, 23probe_sched_switch(struct rq *__rq, struct task_struct *prev,
@@ -28,7 +28,7 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev,
28 int cpu; 28 int cpu;
29 int pc; 29 int pc;
30 30
31 if (!atomic_read(&sched_ref)) 31 if (!sched_ref)
32 return; 32 return;
33 33
34 tracing_record_cmdline(prev); 34 tracing_record_cmdline(prev);
@@ -124,26 +124,22 @@ static void tracing_sched_unregister(void)
124 124
125static void tracing_start_sched_switch(void) 125static void tracing_start_sched_switch(void)
126{ 126{
127 long ref; 127 mutex_lock(&sched_register_mutex);
128 128 if (!(sched_ref++)) {
129 mutex_lock(&tracepoint_mutex); 129 tracer_enabled = 1;
130 tracer_enabled = 1;
131 ref = atomic_inc_return(&sched_ref);
132 if (ref == 1)
133 tracing_sched_register(); 130 tracing_sched_register();
134 mutex_unlock(&tracepoint_mutex); 131 }
132 mutex_unlock(&sched_register_mutex);
135} 133}
136 134
137static void tracing_stop_sched_switch(void) 135static void tracing_stop_sched_switch(void)
138{ 136{
139 long ref; 137 mutex_lock(&sched_register_mutex);
140 138 if (!(--sched_ref)) {
141 mutex_lock(&tracepoint_mutex);
142 tracer_enabled = 0;
143 ref = atomic_dec_and_test(&sched_ref);
144 if (ref)
145 tracing_sched_unregister(); 139 tracing_sched_unregister();
146 mutex_unlock(&tracepoint_mutex); 140 tracer_enabled = 0;
141 }
142 mutex_unlock(&sched_register_mutex);
147} 143}
148 144
149void tracing_start_cmdline_record(void) 145void tracing_start_cmdline_record(void)