• Ian Rogers's avatar
    perf metric: Return early if no CPU PMU table exists · 3f5df3ac
    Ian Rogers authored
    Previous behavior is to segfault if there is no CPU PMU table and a
    metric is sought. To reproduce compile with NO_JEVENTS=1 then request a
    metric, for example, "perf stat -M IPC true".
    
    Committer testing:
    
    Before:
    
      $ make -k NO_JEVENTS=1 BUILD_BPF_SKEL=1 O=/tmp/build/perf-urgent -C tools/perf install-bin
      $ perf stat -M IPC true
      Segmentation fault (core dumped)
      $
    
    After:
    
      $ perf stat -M IPC true
    
       Usage: perf stat [<options>] [<command>]
    
          -M, --metrics <metric/metric group list>
                                monitor specified metrics or metric groups (separated by ,)
      $
    
    Fixes: 00facc76 ("perf jevents: Switch build to use jevents.py")
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Caleb Biggers <caleb.biggers@intel.com>
    Cc: Florian Fischer <florian.fischer@muhq.space>
    Cc: Ian Rogers <rogers.email@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Kshipra Bopardikar <kshipra.bopardikar@intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Miaoqian Lin <linmq006@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Perry Taylor <perry.taylor@intel.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Thomas Richter <tmricht@linux.ibm.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Link: https://lore.kernel.org/r/20220830164846.401143-3-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3f5df3ac
metricgroup.c 44.3 KB