lkml.org 
[lkml]   [2019]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] sched/tracing: Show stacktrace for wakeup tracers
On Thu, 17 Jan 2019 00:02:49 +0800
Changbin Du <changbin.du@gmail.com> wrote:

> This align the behavior of wakeup tracers with irqsoff latency tracer
> that we record stacktrace at the beginning and end of waking up. The
> stacktrace shows us what is happening in the kernel.
>
> Signed-off-by: Changbin Du <changbin.du@gmail.com>

I've applied your patch, but it may be a while before you see it in
linux-next. I'll be traveling for a bit and wont be able to do the full
tests which I do before pushing to my linux-next branch.

You may see them soon in my ftrace/core branch on kernel.org.

-- Steve

> ---
> kernel/trace/trace_sched_wakeup.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/trace_sched_wakeup.c b/kernel/trace/trace_sched_wakeup.c
> index da5b6e012840..f4fe7d1781e9 100644
> --- a/kernel/trace/trace_sched_wakeup.c
> +++ b/kernel/trace/trace_sched_wakeup.c
> @@ -475,6 +475,7 @@ probe_wakeup_sched_switch(void *ignore, bool preempt,
>
> __trace_function(wakeup_trace, CALLER_ADDR0, CALLER_ADDR1, flags, pc);
> tracing_sched_switch_trace(wakeup_trace, prev, next, flags, pc);
> + __trace_stack(wakeup_trace, flags, 0, pc);
>
> T0 = data->preempt_timestamp;
> T1 = ftrace_now(cpu);
> @@ -586,6 +587,7 @@ probe_wakeup(void *ignore, struct task_struct *p)
> data = per_cpu_ptr(wakeup_trace->trace_buffer.data, wakeup_cpu);
> data->preempt_timestamp = ftrace_now(cpu);
> tracing_sched_wakeup_trace(wakeup_trace, p, current, flags, pc);
> + __trace_stack(wakeup_trace, flags, 0, pc);
>
> /*
> * We must be careful in using CALLER_ADDR2. But since wake_up

\
 
 \ /
  Last update: 2019-01-16 22:06    [W:0.073 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site