mbox series

[0/5] perf_counts clean up and perf stat report bug fix

Message ID 20220519032005.1273691-1-irogers@google.com (mailing list archive)
Headers show
Series perf_counts clean up and perf stat report bug fix | expand

Message

Ian Rogers May 19, 2022, 3:20 a.m. UTC
perf_counts takes a CPU map index as an argument, however, there were
a few places where this hadn't been cleaned up and the index was
called cpu. In part this led to the bug discovered by Michael Petlan in:
https://lore.kernel.org/linux-perf-users/CAP-5=fWQR=sCuiSMktvUtcbOLidEpUJLCybVF6=BRvORcDOq+g@mail.gmail.com/

Fix the bug, tidy up more of the arguments passed to perf_counts, add
a test to ensure the bug isn't reintroduced and add a helper macro to
iterate over just CPU map indices.

Ian Rogers (5):
  perf stat: Fix and validate inputs in stat events
  perf stat: Add stat record+report test
  perf cpumap: Add perf_cpu_map__for_each_idx
  perf bpf_counter: Tidy use of CPU map index
  perf stat: Make use of index clearer with perf_counts

 tools/lib/perf/include/perf/cpumap.h |  3 ++
 tools/perf/tests/shell/stat.sh       | 13 ++++++
 tools/perf/util/bpf_counter.c        | 61 ++++++++++++++++------------
 tools/perf/util/stat-display.c       | 22 +++++-----
 tools/perf/util/stat.c               | 27 ++++++++----
 5 files changed, 81 insertions(+), 45 deletions(-)

Comments

Arnaldo Carvalho de Melo May 23, 2022, 12:54 p.m. UTC | #1
Em Wed, May 18, 2022 at 08:20:00PM -0700, Ian Rogers escreveu:
> perf_counts takes a CPU map index as an argument, however, there were
> a few places where this hadn't been cleaned up and the index was
> called cpu. In part this led to the bug discovered by Michael Petlan in:
> https://lore.kernel.org/linux-perf-users/CAP-5=fWQR=sCuiSMktvUtcbOLidEpUJLCybVF6=BRvORcDOq+g@mail.gmail.com/
> 
> Fix the bug, tidy up more of the arguments passed to perf_counts, add
> a test to ensure the bug isn't reintroduced and add a helper macro to
> iterate over just CPU map indices.

Applied 2-5 to perf/core. The first is already in 5.18


Thanks,

- Arnaldo
 
> Ian Rogers (5):
>   perf stat: Fix and validate inputs in stat events
>   perf stat: Add stat record+report test
>   perf cpumap: Add perf_cpu_map__for_each_idx
>   perf bpf_counter: Tidy use of CPU map index
>   perf stat: Make use of index clearer with perf_counts
> 
>  tools/lib/perf/include/perf/cpumap.h |  3 ++
>  tools/perf/tests/shell/stat.sh       | 13 ++++++
>  tools/perf/util/bpf_counter.c        | 61 ++++++++++++++++------------
>  tools/perf/util/stat-display.c       | 22 +++++-----
>  tools/perf/util/stat.c               | 27 ++++++++----
>  5 files changed, 81 insertions(+), 45 deletions(-)
> 
> -- 
> 2.36.1.124.g0e6072fb45-goog