Em Thu, Nov 24, 2016 at 10:11:12AM +0900, Namhyung Kim escreveu:
> The sched_switch event always captured from the scheduler function.  So
> it'd be great omit them from the callchain.  This patch marks the
> functions to be omitted by later patch.

I just reorderded this so that after applying 1 I could right away test
it, i.e. 2/3 was applied first.

- Arnaldo
 
> Cc: David Ahern <[email protected]>
> Signed-off-by: Namhyung Kim <[email protected]>
> ---
>  tools/perf/builtin-sched.c | 21 +++++++++++++++++++++
>  tools/perf/util/symbol.h   |  1 +
>  2 files changed, 22 insertions(+)
> 
> diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c
> index 829468defa07..cd14189d3943 100644
> --- a/tools/perf/builtin-sched.c
> +++ b/tools/perf/builtin-sched.c
> @@ -1965,7 +1965,28 @@ static bool is_idle_sample(struct perf_sched *sched,
>  
>               return false;
>       }
> +
>       callchain_cursor_commit(cursor);
> +
> +     while (true) {
> +             struct callchain_cursor_node *node;
> +             struct symbol *sym;
> +
> +             node = callchain_cursor_current(cursor);
> +             if (node == NULL)
> +                     break;
> +
> +             sym = node->sym;
> +             if (sym && sym->name) {
> +                     if (!strcmp(sym->name, "schedule") ||
> +                         !strcmp(sym->name, "__schedule") ||
> +                         !strcmp(sym->name, "preempt_schedule"))
> +                             sym->ignore = 1;
> +             }
> +
> +             callchain_cursor_advance(cursor);
> +     }
> +
>       return false;
>  }
>  
> diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
> index dec7e2d44885..1bcbefc0c325 100644
> --- a/tools/perf/util/symbol.h
> +++ b/tools/perf/util/symbol.h
> @@ -58,6 +58,7 @@ struct symbol {
>       u16             namelen;
>       u8              binding;
>       u8              idle:1;
> +     u8              ignore:1;
>       u8              arch_sym;
>       char            name[0];
>  };
> -- 
> 2.10.0

Reply via email to