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, 20 May 2016 12:23:27 +0200 From: Jiri Olsa <jolsa@...hat.com> To: Andi Kleen <andi@...stfloor.org> Cc: acme@...nel.org, peterz@...radead.org, jolsa@...nel.org, mingo@...nel.org, linux-kernel@...r.kernel.org, Andi Kleen <ak@...ux.intel.com> Subject: Re: [PATCH 8/8] perf stat: Add computation of TopDown formulas On Fri, May 13, 2016 at 06:44:57PM -0700, Andi Kleen wrote: > From: Andi Kleen <ak@...ux.intel.com> > > Implement the TopDown formulas in perf stat. The topdown basic metrics > reported by the kernel are collected, and the formulas are computed > and output as normal metrics. > > See the kernel commit exporting the events for details on the used > metrics. > > v2: Always print all metrics, only use thresholds for coloring. > v3: Mark retiring over threshold green, not red. > v4: > Only print one decimal digit > Fix color printing of one metric > Signed-off-by: Andi Kleen <ak@...ux.intel.com> > --- > tools/perf/util/stat-shadow.c | 156 ++++++++++++++++++++++++++++++++++++++++++ > tools/perf/util/stat.c | 5 ++ > tools/perf/util/stat.h | 5 ++ > 3 files changed, 166 insertions(+) > > diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c > index fdb71961143e..182050f2785a 100644 > --- a/tools/perf/util/stat-shadow.c > +++ b/tools/perf/util/stat-shadow.c > @@ -36,6 +36,11 @@ static struct stats runtime_dtlb_cache_stats[NUM_CTX][MAX_NR_CPUS]; > static struct stats runtime_cycles_in_tx_stats[NUM_CTX][MAX_NR_CPUS]; > static struct stats runtime_transaction_stats[NUM_CTX][MAX_NR_CPUS]; > static struct stats runtime_elision_stats[NUM_CTX][MAX_NR_CPUS]; > +static struct stats runtime_topdown_total_slots[NUM_CTX][MAX_NR_CPUS]; > +static struct stats runtime_topdown_slots_issued[NUM_CTX][MAX_NR_CPUS]; > +static struct stats runtime_topdown_slots_retired[NUM_CTX][MAX_NR_CPUS]; > +static struct stats runtime_topdown_fetch_bubbles[NUM_CTX][MAX_NR_CPUS]; > +static struct stats runtime_topdown_recovery_bubbles[NUM_CTX][MAX_NR_CPUS]; > static bool have_frontend_stalled; > > struct stats walltime_nsecs_stats; > @@ -82,6 +87,12 @@ void perf_stat__reset_shadow_stats(void) > sizeof(runtime_transaction_stats)); > memset(runtime_elision_stats, 0, sizeof(runtime_elision_stats)); > memset(&walltime_nsecs_stats, 0, sizeof(walltime_nsecs_stats)); > + memset(runtime_topdown_total_slots, 0, sizeof(runtime_topdown_total_slots)); > + memset(runtime_topdown_slots_retired, 0, sizeof(runtime_topdown_slots_retired)); > + memset(runtime_topdown_slots_issued, 0, sizeof(runtime_topdown_slots_issued)); > + memset(runtime_topdown_fetch_bubbles, 0, sizeof(runtime_topdown_fetch_bubbles)); > + memset(runtime_topdown_recovery_bubbles, 0, sizeof(runtime_topdown_recovery_bubbles)); > + have_frontend_stalled = pmu_have_event("cpu", "stalled-cycles-frontend"); why to initialize this one in here? it's already in perf_stat__init_shadow_stats jirka
Powered by blists - more mailing lists