* [PATCH][RESEND] tracing/ftrace: Types and naming corrections for sched tracer
@ 2008-10-31 12:28 Frederic Weisbecker
0 siblings, 0 replies; only message in thread
From: Frederic Weisbecker @ 2008-10-31 12:28 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Linux Kernel
(depends on tracing/fastboot: Use sched switch tracer from boot tracer)
---
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>
Cc: Steven Rostedt <rostedt@goodmis.org>
---
kernel/trace/trace_sched_switch.c | 30 +++++++++++++-----------------
1 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index 9d7bdac..969953b 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -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)
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2008-10-31 12:29 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-31 12:28 [PATCH][RESEND] tracing/ftrace: Types and naming corrections for sched tracer Frederic Weisbecker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.