tracing/ftrace: types and naming corrections for sched tracer
authorFrederic Weisbecker <fweisbec@gmail.com>
Fri, 31 Oct 2008 12:28:58 +0000 (13:28 +0100)
committerIngo Molnar <mingo@elte.hu>
Tue, 4 Nov 2008 16:14:07 +0000 (17:14 +0100)
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>
kernel/trace/trace_sched_switch.c

index 9d7bdac331dd262561055e926a913641b5f7bdfc..969953bf678fdabf88a50cf9479fcef318007de6 100644 (file)
@@ -16,8 +16,8 @@
 
 static struct trace_array      *ctx_trace;
 static int __read_mostly       tracer_enabled;
-static atomic_t                        sched_ref;
-static DEFINE_MUTEX(tracepoint_mutex);
+static int                     sched_ref;
+static DEFINE_MUTEX(sched_register_mutex);
 
 static void
 probe_sched_switch(struct rq *__rq, struct task_struct *prev,
@@ -28,7 +28,7 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev,
        int cpu;
        int pc;
 
-       if (!atomic_read(&sched_ref))
+       if (!sched_ref)
                return;
 
        tracing_record_cmdline(prev);
@@ -124,26 +124,22 @@ static void tracing_sched_unregister(void)
 
 static void tracing_start_sched_switch(void)
 {
-       long ref;
-
-       mutex_lock(&tracepoint_mutex);
-       tracer_enabled = 1;
-       ref = atomic_inc_return(&sched_ref);
-       if (ref == 1)
+       mutex_lock(&sched_register_mutex);
+       if (!(sched_ref++)) {
+               tracer_enabled = 1;
                tracing_sched_register();
-       mutex_unlock(&tracepoint_mutex);
+       }
+       mutex_unlock(&sched_register_mutex);
 }
 
 static void tracing_stop_sched_switch(void)
 {
-       long ref;
-
-       mutex_lock(&tracepoint_mutex);
-       tracer_enabled = 0;
-       ref = atomic_dec_and_test(&sched_ref);
-       if (ref)
+       mutex_lock(&sched_register_mutex);
+       if (!(--sched_ref)) {
                tracing_sched_unregister();
-       mutex_unlock(&tracepoint_mutex);
+               tracer_enabled = 0;
+       }
+       mutex_unlock(&sched_register_mutex);
 }
 
 void tracing_start_cmdline_record(void)