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

Reply via email to