lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 13 Mar 2020 16:24:25 -0300 From: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com> To: Jin Yao <yao.jin@...ux.intel.com> Cc: jolsa@...nel.org, peterz@...radead.org, mingo@...hat.com, alexander.shishkin@...ux.intel.com, Linux-kernel@...r.kernel.org, ak@...ux.intel.com, kan.liang@...el.com, yao.jin@...el.com Subject: Re: [PATCH] perf report: Fix no branch type statistics report issue Em Fri, Mar 13, 2020 at 09:46:07PM +0800, Jin Yao escreveu: > Previously we could get the report of branch type statistics. > > For example, > > perf record -j any,save_type ... > perf report --stdio > > # > # Branch Statistics: > # > COND_FWD: 40.6% > COND_BWD: 4.1% > CROSS_4K: 24.7% > CROSS_2M: 12.3% > COND: 44.7% > UNCOND: 0.0% > IND: 6.1% > CALL: 24.5% > RET: 24.7% > > But now for the recent perf, it can't report the branch type statistics. > > It's a regression issue caused by commit 40c39e304641 > ("perf report: Fix a no annotate browser displayed issue"), > which only counts the branch type statistics for browser mode. > > This patch moves the branch_type_count() outside of ui__has_annotation() > checking, then branch type statistics can work for stdio mode. > > Fixes: 40c39e304641 ("perf report: Fix a no annotate browser displayed issue") Thanks, tested before/after, matches description, applied. - Arnaldo > Signed-off-by: Jin Yao <yao.jin@...ux.intel.com> > --- > tools/perf/builtin-report.c | 9 ++++----- > 1 file changed, 4 insertions(+), 5 deletions(-) > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index d7c905f7520f..5f4045df76f4 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -186,24 +186,23 @@ static int hist_iter__branch_callback(struct hist_entry_iter *iter, > { > struct hist_entry *he = iter->he; > struct report *rep = arg; > - struct branch_info *bi; > + struct branch_info *bi = he->branch_info; > struct perf_sample *sample = iter->sample; > struct evsel *evsel = iter->evsel; > int err; > > + branch_type_count(&rep->brtype_stat, &bi->flags, > + bi->from.addr, bi->to.addr); > + > if (!ui__has_annotation() && !rep->symbol_ipc) > return 0; > > - bi = he->branch_info; > err = addr_map_symbol__inc_samples(&bi->from, sample, evsel); > if (err) > goto out; > > err = addr_map_symbol__inc_samples(&bi->to, sample, evsel); > > - branch_type_count(&rep->brtype_stat, &bi->flags, > - bi->from.addr, bi->to.addr); > - > out: > return err; > } > -- > 2.17.1 > -- - Arnaldo
Powered by blists - more mailing lists