Messages in this thread | | | Date | Thu, 4 Aug 2022 09:21:58 +0800 | From | Leo Yan <> | Subject | Re: [PATCH] perf symbol: Fail to read phdr workaround |
| |
On Wed, Aug 03, 2022 at 05:26:39PM -0700, Ian Rogers wrote:
[...]
> > The question is how we can specify the path for the lib > > libperf-jvmti.so in the testing script? > > > > If we can run the test case from the root folder of Linux kernel > > source code, the lib libperf-jvmti.so can be found in the folder > > $linux/tools/perf, but for the integration testing the lib should be > > placed in an installed folder. Any suggestion if we have exited > > way to specify the path for libperf-jvmti.so, or need to introduce a > > new shell envorinment variable for the lib path? > > There is a hack in 'perf test' where we assume a few paths to tests: > https://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git/tree/tools/perf/tests/builtin-test.c?h=perf/core#n308 > so in this case we could look in the same directory. There is also a > #define for PERF_EXEC_PATH.
Thanks for the info. I will try to search paths like the buildin-test.c file, and the lib libperf-jvmti.so is installed in the folder "$HOME/lib64/", I will check if can reuse PERF_EXEC_PATH for this case.
> I'd prefer it if the test could be self contained for example: > > echo "int fib(int x) { return x > 1 ? fib(x - 2) + fib(x - 1) : 1; } > int q = 0; for(int i=0; i < 10; i++) q += fib(i); > System.out.println(q);" | /tmp/perf/perf record -k 1 jshell > -J-agentpath:/tmp/perf/libperf-jvmti.so > > where jshell runs on the JVM and so we should get some jitted execution time.
Will do. Appreciate for sharing this!
Leo
| |