[PATCH 1/2] Add check of sched_stopped for probe_sched_wakeup

From: Zhaolei
Date: Tue Mar 31 2009 - 00:02:57 EST


We need check sched_stopped in probe_sched_wakeup() to stop tracing when an
user stops it.

But current code can also do the right thing(stop tracing after
echo 0 > tracing_enabled) just because tracing_sched_wakeup_trace() can return
on buffer->record_disabled.

Signed-off-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx>
---
kernel/trace/trace_sched_switch.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c
index de35f20..9117cea 100644
--- a/kernel/trace/trace_sched_switch.c
+++ b/kernel/trace/trace_sched_switch.c
@@ -62,6 +62,9 @@ probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success)
pc = preempt_count();
tracing_record_cmdline(current);

+ if (sched_stopped)
+ return;
+
local_irq_save(flags);
cpu = raw_smp_processor_id();
data = ctx_trace->data[cpu];
--
1.5.5.3


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/