* [PATCH v2 0/2] ftrace: Add check of sched_stopped for probe_sched_wakeup @ 2009-03-31 7:24 Zhaolei 2009-03-31 7:24 ` [PATCH v2 1/2] " Zhaolei 2009-03-31 7:26 ` [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch Zhaolei 0 siblings, 2 replies; 7+ messages in thread From: Zhaolei @ 2009-03-31 7:24 UTC (permalink / raw) To: Steven Rostedt, linux-kernel Hello, Steven Thanks for your comments for v1 patch. I send v2 patch which includes your suggestion. B.R Zhaolei ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] ftrace: Add check of sched_stopped for probe_sched_wakeup 2009-03-31 7:24 [PATCH v2 0/2] ftrace: Add check of sched_stopped for probe_sched_wakeup Zhaolei @ 2009-03-31 7:24 ` Zhaolei 2009-04-03 19:50 ` Steven Rostedt 2009-04-07 13:13 ` [tip:tracing/urgent] " Zhaolei 2009-03-31 7:26 ` [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch Zhaolei 1 sibling, 2 replies; 7+ messages in thread From: Zhaolei @ 2009-03-31 7:24 UTC (permalink / raw) To: Zhaolei; +Cc: Steven Rostedt, linux-kernel 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@cn.fujitsu.com> --- 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 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] ftrace: Add check of sched_stopped for probe_sched_wakeup 2009-03-31 7:24 ` [PATCH v2 1/2] " Zhaolei @ 2009-04-03 19:50 ` Steven Rostedt 2009-04-07 13:13 ` [tip:tracing/urgent] " Zhaolei 1 sibling, 0 replies; 7+ messages in thread From: Steven Rostedt @ 2009-04-03 19:50 UTC (permalink / raw) To: Zhaolei; +Cc: linux-kernel On Tue, 31 Mar 2009, Zhaolei wrote: > 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@cn.fujitsu.com> Thanks, applied. -- Steve ^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:tracing/urgent] ftrace: Add check of sched_stopped for probe_sched_wakeup 2009-03-31 7:24 ` [PATCH v2 1/2] " Zhaolei 2009-04-03 19:50 ` Steven Rostedt @ 2009-04-07 13:13 ` Zhaolei 1 sibling, 0 replies; 7+ messages in thread From: Zhaolei @ 2009-04-07 13:13 UTC (permalink / raw) To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, rostedt, zhaolei, tglx, mingo Commit-ID: 8bcae09b93e7f96f700b6bb372c2b3f2b36636dc Gitweb: http://git.kernel.org/tip/8bcae09b93e7f96f700b6bb372c2b3f2b36636dc Author: Zhaolei <zhaolei@cn.fujitsu.com> AuthorDate: Tue, 31 Mar 2009 15:24:51 +0800 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Tue, 7 Apr 2009 14:01:11 +0200 ftrace: Add check of sched_stopped for probe_sched_wakeup The wakeup tracing in sched_switch does not stop when a user disables tracing. This is because the probe_sched_wakeup() is missing the check to prevent the wakeup from being traced. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> LKML-Reference: <49D1C543.3010307@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> --- 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]; ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch 2009-03-31 7:24 [PATCH v2 0/2] ftrace: Add check of sched_stopped for probe_sched_wakeup Zhaolei 2009-03-31 7:24 ` [PATCH v2 1/2] " Zhaolei @ 2009-03-31 7:26 ` Zhaolei 2009-04-03 20:14 ` Steven Rostedt 2009-04-08 6:55 ` [tip:tracing/core] ftrace: clean " Zhaolei 1 sibling, 2 replies; 7+ messages in thread From: Zhaolei @ 2009-03-31 7:26 UTC (permalink / raw) To: Steven Rostedt; +Cc: linux-kernel Unify sched_switch and sched_wakeup's action to following logic: Do record_cmdline when start_cmdline_record() called. Trace event when trace is inited and started. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> --- kernel/trace/trace_sched_switch.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c index 9117cea..9d8cccd 100644 --- a/kernel/trace/trace_sched_switch.c +++ b/kernel/trace/trace_sched_switch.c @@ -29,13 +29,13 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev, int cpu; int pc; - if (!sched_ref || sched_stopped) + if (unlikely(!sched_ref)) return; tracing_record_cmdline(prev); tracing_record_cmdline(next); - if (!tracer_enabled) + if (!tracer_enabled || sched_stopped) return; pc = preempt_count(); @@ -56,15 +56,15 @@ probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success) unsigned long flags; int cpu, pc; - if (!likely(tracer_enabled)) + if (unlikely(!sched_ref)) return; - pc = preempt_count(); tracing_record_cmdline(current); - if (sched_stopped) + if (!tracer_enabled || sched_stopped) return; + pc = preempt_count(); local_irq_save(flags); cpu = raw_smp_processor_id(); data = ctx_trace->data[cpu]; -- 1.5.5.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch 2009-03-31 7:26 ` [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch Zhaolei @ 2009-04-03 20:14 ` Steven Rostedt 2009-04-08 6:55 ` [tip:tracing/core] ftrace: clean " Zhaolei 1 sibling, 0 replies; 7+ messages in thread From: Steven Rostedt @ 2009-04-03 20:14 UTC (permalink / raw) To: Zhaolei; +Cc: LKML, Ingo Molnar On Tue, 31 Mar 2009, Zhaolei wrote: > Unify sched_switch and sched_wakeup's action to following logic: > Do record_cmdline when start_cmdline_record() called. > Trace event when trace is inited and started. > > Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Thanks, applied. -- Steve ^ permalink raw reply [flat|nested] 7+ messages in thread
* [tip:tracing/core] ftrace: clean up enable logic for sched_switch 2009-03-31 7:26 ` [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch Zhaolei 2009-04-03 20:14 ` Steven Rostedt @ 2009-04-08 6:55 ` Zhaolei 1 sibling, 0 replies; 7+ messages in thread From: Zhaolei @ 2009-04-08 6:55 UTC (permalink / raw) To: linux-tip-commits; +Cc: linux-kernel, hpa, mingo, rostedt, zhaolei, tglx Commit-ID: dcef788eb9659b61a2110284fcce3ca6e63480d2 Gitweb: http://git.kernel.org/tip/dcef788eb9659b61a2110284fcce3ca6e63480d2 Author: Zhaolei <zhaolei@cn.fujitsu.com> AuthorDate: Tue, 31 Mar 2009 15:26:14 +0800 Committer: Ingo Molnar <mingo@elte.hu> CommitDate: Tue, 7 Apr 2009 14:43:09 +0200 ftrace: clean up enable logic for sched_switch Unify sched_switch and sched_wakeup's action to following logic: Do record_cmdline when start_cmdline_record() is called. Start tracing events when the tracer is started. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> LKML-Reference: <49D1C596.5050203@cn.fujitsu.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> --- kernel/trace/trace_sched_switch.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/trace/trace_sched_switch.c b/kernel/trace/trace_sched_switch.c index 9117cea..9d8cccd 100644 --- a/kernel/trace/trace_sched_switch.c +++ b/kernel/trace/trace_sched_switch.c @@ -29,13 +29,13 @@ probe_sched_switch(struct rq *__rq, struct task_struct *prev, int cpu; int pc; - if (!sched_ref || sched_stopped) + if (unlikely(!sched_ref)) return; tracing_record_cmdline(prev); tracing_record_cmdline(next); - if (!tracer_enabled) + if (!tracer_enabled || sched_stopped) return; pc = preempt_count(); @@ -56,15 +56,15 @@ probe_sched_wakeup(struct rq *__rq, struct task_struct *wakee, int success) unsigned long flags; int cpu, pc; - if (!likely(tracer_enabled)) + if (unlikely(!sched_ref)) return; - pc = preempt_count(); tracing_record_cmdline(current); - if (sched_stopped) + if (!tracer_enabled || sched_stopped) return; + pc = preempt_count(); local_irq_save(flags); cpu = raw_smp_processor_id(); data = ctx_trace->data[cpu]; ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-04-08 6:55 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-03-31 7:24 [PATCH v2 0/2] ftrace: Add check of sched_stopped for probe_sched_wakeup Zhaolei 2009-03-31 7:24 ` [PATCH v2 1/2] " Zhaolei 2009-04-03 19:50 ` Steven Rostedt 2009-04-07 13:13 ` [tip:tracing/urgent] " Zhaolei 2009-03-31 7:26 ` [PATCH v2 2/2] ftrace: Clean up enable logic for sched_switch Zhaolei 2009-04-03 20:14 ` Steven Rostedt 2009-04-08 6:55 ` [tip:tracing/core] ftrace: clean " Zhaolei
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.