Re: [PATCH V2 1/1] perf hists: clear dummy entry accumulated period

From: Jiri Olsa
Date: Mon Apr 25 2016 - 04:24:25 EST


On Fri, Apr 22, 2016 at 12:58:58AM -0700, kan.liang@xxxxxxxxx wrote:
> From: Kan Liang <kan.liang@xxxxxxxxx>
>
> The accumulated period for dummy entry should also be 0.
> Otherwise, the total overhead could be overcounted.
> [perf]$ perf record -e '{LLC-load-misses,cpu/instructions/}'
> --call-graph=lbr ./tchain
> [perf]$ perf report --stdio
> # To display the perf.data header info, please use
> --header/--header-only options.
> #
> #
> # Total Lost Samples: 0
> #
> # Samples: 21K of event 'anon group { LLC-load-misses,
> cpu/instructions/
> }'
> # Event count (approx.): 16313667937
> #
> # Children Self Command Shared Object
> Symbol
> # ................ ................ ........... ................
> ............................
> #
> 4769.98% 0.01% 0.00% 0.01% tchain_edit [kernel.vmlinux]
> [k] update_fast_timekeeper
> 4356.18% 0.01% 0.00% 0.01% tchain_edit [kernel.vmlinux]
> [k] trigger_load_balance
> 3181.12% 0.01% 0.00% 0.01% tchain_edit [kernel.vmlinux]
> [k] irq_work_tick
> 1592.37% 0.00% 0.00% 0.00% tchain_edit [kernel.vmlinux]
> [k] cpu_needs_another_gp
>
> Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx>
> ---
>
> Sorry for the noise which is brought by V1.
> Changes since V1:
> - check he->stat_acc. Because it only be available when option children is set
>
> tools/perf/util/hist.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 991a351..acba139 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -2062,6 +2062,8 @@ static struct hist_entry *hists__add_dummy_entry(struct hists *hists,
> if (he) {
> memset(&he->stat, 0, sizeof(he->stat));
> he->hists = hists;
> + if (he->stat_acc)
> + memset(he->stat_acc, 0, sizeof(he->stat));

we use symbol_conf.cumulate_callchain check for existance of he->stat_acc
I think we should keep it here as well

thanks,
jirka