Em Mon, Apr 24, 2023 at 06:36:14PM +0300, Adrian Hunter escreveu:
On 24/04/23 16:47, James Clark wrote:
There is some duplicated code to only override config values if they haven't already been set by the user so make a util function for this.
Signed-off-by: James Clark james.clark@arm.com
One minor comment, nevertheless:
Acked-by: Adrian Hunter adrian.hunter@intel.com
I just moved to evsel__set_config_if_unset() to util/pmu.c, next to some other evsel__ functions to not break the python.so binding, before I was getting:
[acme@quaco perf-tools-next]$ perf test -v python Couldn't bump rlimit(MEMLOCK), failures may take place when creating BPF maps, etc 19: 'import perf' in python : --- start --- test child forked, pid 500086 python usage test: "echo "import sys ; sys.path.append('/tmp/build/perf-tools-next/python'); import perf" | '/usr/bin/python3' " Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /tmp/build/perf-tools-next/python/perf.cpython-311-x86_64-linux-gnu.so: undefined symbol: perf_pmu__format_bits test child finished with -1 ---- end ---- 'import perf' in python: FAILED! [acme@quaco perf-tools-next]$
Please run 'perf test' and 'make -C tools/perf build-test' prior to sending pull requests,
Thanks, applied.
- Arnaldo
On 24/04/2023 18:45, Arnaldo Carvalho de Melo wrote:
Em Mon, Apr 24, 2023 at 06:36:14PM +0300, Adrian Hunter escreveu:
On 24/04/23 16:47, James Clark wrote:
There is some duplicated code to only override config values if they haven't already been set by the user so make a util function for this.
Signed-off-by: James Clark james.clark@arm.com
One minor comment, nevertheless:
Acked-by: Adrian Hunter adrian.hunter@intel.com
I just moved to evsel__set_config_if_unset() to util/pmu.c, next to some other evsel__ functions to not break the python.so binding, before I was getting:
[acme@quaco perf-tools-next]$ perf test -v python Couldn't bump rlimit(MEMLOCK), failures may take place when creating BPF maps, etc 19: 'import perf' in python : --- start --- test child forked, pid 500086 python usage test: "echo "import sys ; sys.path.append('/tmp/build/perf-tools-next/python'); import perf" | '/usr/bin/python3' " Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: /tmp/build/perf-tools-next/python/perf.cpython-311-x86_64-linux-gnu.so: undefined symbol: perf_pmu__format_bits test child finished with -1 ---- end ---- 'import perf' in python: FAILED! [acme@quaco perf-tools-next]$
Please run 'perf test' and 'make -C tools/perf build-test' prior to sending pull requests,
Thanks, applied.
Ah sorry! I ran it from an in source build and got the python import error so I ignored that test. I see the new error if I run it from tools/perf instead.
Interestingly with an out of source build it doesn't matter which cwd you run the Python test from because $OUTPUT is an absolute path. Normally I do an out of source build, but the Coresight tests don't currently work with that. Which I will submit another fix for...
I don't know if it's worth getting rid of that edge by making sure PYTHONPATH is always absolute even for in source builds or if it will break something else like a make install? It's because of this line:
-DPYTHONPATH="BUILD_STR($(OUTPUT)python)"
Will make sure that they all pass next time. I also sent a fix for the build-test target on my platform.
- Arnaldo