Re: [PATCH 06/21] perf tools: Update cpumode for each cumulativeentry

From: Jiri Olsa
Date: Sun Jan 05 2014 - 12:02:40 EST


On Tue, Dec 24, 2013 at 05:22:12PM +0900, Namhyung Kim wrote:
> From: Namhyung Kim <namhyung.kim@xxxxxxx>
>
> The cpumode and level in struct addr_localtion was set for a sample
> and but updated as cumulative callchains were added. This led to have
> non-matching symbol and cpumode in the output.
>
> Update it accordingly based on the fact whether the map is a part of
> the kernel or not. This is a reverse of what thread__find_addr_map()
> does.
>
> Cc: Arun Sharma <asharma@xxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
> ---
> tools/perf/builtin-report.c | 34 +++++++++++++++++++++++++++++++---
> 1 file changed, 31 insertions(+), 3 deletions(-)
>
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 4fde0ab82498..17c41c686042 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -100,6 +100,7 @@ struct add_entry_iter {
> struct report *rep;
> struct perf_evsel *evsel;
> struct perf_sample *sample;
> + struct machine *machine;
> struct hist_entry *he;
> struct symbol *parent;
> void *priv;
> @@ -362,7 +363,7 @@ iter_finish_normal_entry(struct add_entry_iter *iter, struct addr_location *al)
>
> static int
> iter_prepare_cumulative_entry(struct add_entry_iter *iter,
> - struct machine *machine __maybe_unused,
> + struct machine *machine,
> struct perf_evsel *evsel,
> struct addr_location *al __maybe_unused,
> struct perf_sample *sample)
> @@ -371,6 +372,7 @@ iter_prepare_cumulative_entry(struct add_entry_iter *iter,
>
> iter->evsel = evsel;
> iter->sample = sample;
> + iter->machine = machine;

machine is already in 'al->machine'

jirka
--
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/