[PATCH 2/4] perf bpf_counter: Increase perf_attr_map entries to 32

From: Namhyung Kim
Date: Wed Jan 04 2023 - 01:44:33 EST


The current size 16 cannot hold all events when user gave -dd or -ddd.
As it's a part of perf stat, let's increase the size to 32.

# unlink previous map to change the size
$ sudo unlink /sys/fs/bpf/perf_attr_map

$ sudo ./perf stat -a --bpf-counters -ddd sleep 1

Performance counter stats for 'system wide':

35,927.41 msec cpu-clock # 35.802 CPUs utilized
12,629 context-switches # 351.514 /sec
209 cpu-migrations # 5.817 /sec
826 page-faults # 22.991 /sec
2,155,729,621 cycles # 0.060 GHz (30.43%)
1,053,849,500 instructions # 0.49 insn per cycle (38.18%)
232,711,500 branches # 6.477 M/sec (38.44%)
10,693,352 branch-misses # 4.60% of all branches (31.27%)
267,561,655 L1-dcache-loads # 7.447 M/sec (30.58%)
27,290,728 L1-dcache-load-misses # 10.20% of all L1-dcache accesses (30.48%)
12,651,208 LLC-loads # 352.133 K/sec (30.78%)
1,274,018 LLC-load-misses # 10.07% of all LL-cache accesses (38.70%)
<not supported> L1-icache-loads
75,916,358 L1-icache-load-misses # 0.00% of all L1-icache accesses (38.11%)
273,330,559 dTLB-loads # 7.608 M/sec (30.54%)
2,864,458 dTLB-load-misses # 1.05% of all dTLB cache accesses (38.77%)
361,507 iTLB-loads # 10.062 K/sec (30.59%)
848,031 iTLB-load-misses # 234.58% of all iTLB cache accesses (31.30%)
<not supported> L1-dcache-prefetches
<not supported> L1-dcache-prefetch-misses

Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
---
tools/perf/util/bpf_counter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c
index 7f5cc1aa4903..de6331f5263c 100644
--- a/tools/perf/util/bpf_counter.c
+++ b/tools/perf/util/bpf_counter.c
@@ -28,7 +28,7 @@
#include "bpf_skel/bperf_leader.skel.h"
#include "bpf_skel/bperf_follower.skel.h"

-#define ATTR_MAP_SIZE 16
+#define ATTR_MAP_SIZE 32

static inline void *u64_to_ptr(__u64 ptr)
{
--
2.39.0.314.g84b9a713c41-goog