On Mon, Feb 29, 2016 at 02:36:26PM -0800, Andi Kleen wrote: > From: Andi Kleen <a...@linux.intel.com> > > Add an extra check for frontend stalled in the metrics. > This avoids an extra column for the --metric-only case > when the CPU does not support frontend stalled.
ook.. that sorts out the stalled column then > > Signed-off-by: Andi Kleen <a...@linux.intel.com> > --- > tools/perf/util/stat-shadow.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/util/stat-shadow.c b/tools/perf/util/stat-shadow.c > index 5e2d2e3..7f87ed7 100644 > --- a/tools/perf/util/stat-shadow.c > +++ b/tools/perf/util/stat-shadow.c > @@ -2,6 +2,7 @@ > #include "evsel.h" > #include "stat.h" > #include "color.h" > +#include "pmu.h" > > enum { > CTX_BIT_USER = 1 << 0, > @@ -35,6 +36,7 @@ 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 bool have_frontend_stalled; > > struct stats walltime_nsecs_stats; > > @@ -75,6 +77,7 @@ 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)); > + have_frontend_stalled = pmu_have_event("cpu", > "stalled-cycles-frontend"); not the best place IMO, you need this to be called just once, maybe adding perf_stat__init_shadow_stats would be better thanks, jirka