Re: [PATCH 3/3] perf, tools, report: Set up samples correctly in hierarchy mode

From: Jiri Olsa
Date: Tue Mar 12 2019 - 07:13:05 EST


On Mon, Mar 11, 2019 at 08:52:24PM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> In hierarchy mode the res samples need to be cloned from the parent
> entry. Copy them in this case. This fixes res sample browsing
> with --hierarchy.
>
> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
> ---
> tools/perf/util/hist.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 1f230285d78a..dcf24581dfbd 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -437,8 +437,15 @@ static int hist_entry__init(struct hist_entry *he,
> }
>
> if (symbol_conf.res_sample) {
> - he->res_samples = calloc(sizeof(struct res_sample),
> - symbol_conf.res_sample);
> + if (he->res_samples) {

I dont think this leg will ever execute because we don't set
res_samples in template

jirka

> + he->res_samples = memdup(he->res_samples,
> + sizeof(struct res_sample) *
> + symbol_conf.res_sample);
> + } else {
> + he->res_samples = calloc(sizeof(struct res_sample),
> + symbol_conf.res_sample);
> + he->num_res = 0;
> + }
> if (!he->res_samples)
> goto err_srcline;
> }
> --
> 2.20.1
>