• Shunsuke Nakamura's avatar
    libperf tests: Fix test_stat_cpu · 3ff6d64e
    Shunsuke Nakamura authored
    The `cpu` argument of perf_evsel__read() must specify the cpu index.
    
    perf_cpu_map__for_each_cpu() is for iterating the cpu number (not index)
    and is thus not appropriate for use with perf_evsel__read().
    
    So, if there is an offline CPU, the cpu number specified in the argument
    may point out of range because the cpu number and the cpu index are
    different.
    
    Fix test_stat_cpu().
    
    Testing it:
    
      # make tests -C tools/lib/perf/
      make: Entering directory '/home/nakamura/kernel_src/linux-5.15-rc4_fix/tools/lib/perf'
      running static:
      - running tests/test-cpumap.c...OK
      - running tests/test-threadmap.c...OK
      - running tests/test-evlist.c...OK
      - running tests/test-evsel.c...OK
      running dynamic:
      - running tests/test-cpumap.c...OK
      - running tests/test-threadmap.c...OK
      - running tests/test-evlist.c...OK
      - running tests/test-evsel.c...OK
      make: Leaving directory '/home/nakamura/kernel_src/linux-5.15-rc4_fix/tools/lib/perf'
    Signed-off-by: default avatarShunsuke Nakamura <nakamura.shun@fujitsu.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20211011083704.4108720-1-nakamura.shun@fujitsu.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3ff6d64e
test-evlist.c 9.68 KB