[RFC] Support Intel-PT code build in 32-bit arches
From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2021-10-21 20:31:12
Also in:
lkml
Em Wed, Oct 20, 2021 at 02:25:43PM -0300, Arnaldo Carvalho de Melo escreveu:
Em Wed, Oct 20, 2021 at 03:41:01PM +0100, John Garry escreveu:quoted
I suppose the best thing now is to send a patch on top once perf/core contains that commit. Let me know otherwise.
You can send a v2, as:
29 8.60 debian:experimental-x-mipsel : FAIL gcc version 11.2.0 (Debian 11.2.0-9)
util/intel-pt.c: In function 'intel_pt_synth_pebs_sample':
util/intel-pt.c:2146:33: error: passing argument 1 of 'find_first_bit' from incompatible pointer type [-Werror=incompatible-pointer-types]
2146 | for_each_set_bit(hw_id, &items->applicable_counters, INTEL_PT_MAX_PEBS) {
/git/perf-5.15.0-rc4/tools/include/linux/bitops.h:37:38: note: in definition of macro 'for_each_set_bit'
37 | for ((bit) = find_first_bit((addr), (size)); \
| ^~~~
In file included from /git/perf-5.15.0-rc4/tools/include/asm-generic/bitops.h:21,
from /git/perf-5.15.0-rc4/tools/include/linux/bitops.h:34,
from /git/perf-5.15.0-rc4/tools/include/linux/bitmap.h:6,
from util/header.h:10,
from util/session.h:7,
from util/intel-pt.c:16:
/git/perf-5.15.0-rc4/tools/include/asm-generic/bitops/find.h:109:51: note: expected 'const long unsigned int *' but argument is of type 'const uint64_t *' {aka 'const long long unsigned int *'}
Adrian, this is on:
commit 803a3c9233990e1adac8ea2421e3759c2d380cf8
Author: Adrian Hunter [off-list ref]
Date: Tue Sep 7 19:39:03 2021 +0300
perf intel-pt: Add support for PERF_RECORD_AUX_OUTPUT_HW_ID
Originally, software only supported redirecting at most one PEBS event to
Intel PT (PEBS-via-PT) because it was not able to differentiate one event
from another. To overcome that, add support for the
PERF_RECORD_AUX_OUTPUT_HW_ID side-band event.
Reviewed-by: Alexander Shishkin [off-list ref]
Reviewed-by: Andi Kleen [off-list ref]
That is still just on tmp.perf/core, so we can fix it, probably its just
making that uint64_t into a unsigned long, will check later if you don't
beat me to it.Adrian, Probably we should just disable Intel PT support from being built on 32-bit arches, right? I don't know if anybody is interested on that, my tests just try to figure out if it continues to build, and if fixing any problem isn't costly, which in this case is more than my threshold, wdyt? - Arnaldo