]> www.infradead.org Git - users/jedix/linux-maple.git/commit
perf trace: Fix wrong size to bpf_map__update_elem call
authorThomas Richter <tmricht@linux.ibm.com>
Mon, 24 Mar 2025 15:27:56 +0000 (16:27 +0100)
committerNamhyung Kim <namhyung@kernel.org>
Mon, 24 Mar 2025 20:55:26 +0000 (13:55 -0700)
commit216d567610f03b0c6efba3fc452797e09d9503e9
tree86e9860b53d2017f7de88ec1c9f64a45720f920e
parent9a352a90e88a041f4b26d359493e12a7f5ae1a6a
perf trace: Fix wrong size to bpf_map__update_elem call

In linux-next
commit c760174401f6 ("perf cpumap: Reduce cpu size from int to int16_t")
causes the perf tests 100 126 to fail on s390:

Output before:
 # ./perf test 100
 100: perf trace BTF general tests         : FAILED!
 #

The root cause is the change from int to int16_t for the
cpu maps. The size of the CPU key value pair changes from
four bytes to two bytes. However a two byte key size is
not supported for bpf_map__update_elem().
Note: validate_map_op() in libbpf.c emits warning
 libbpf: map '__augmented_syscalls__': \
 unexpected key size 2 provided, expected 4
when key size is set to int16_t.

Therefore change to variable size back to 4 bytes for
invocation of bpf_map__update_elem().

Output after:
 # ./perf test 100
 100: perf trace BTF general tests         : Ok
 #

Fixes: c760174401f6 ("perf cpumap: Reduce cpu size from int to int16_t")
Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Acked-by: Howard Chu <howardchu95@gmail.com>
Cc: James Clark <james.clark@linaro.org>
Link: https://lore.kernel.org/r/20250324152756.3879571-1-tmricht@linux.ibm.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/builtin-trace.c