Lines Matching full:perf
4 @brief Using CoreSight trace and perf with OpenCSD for AutoFDO.
66 within the system, so will use ETR with the capture tool (perf)
179 ### Perf tools
181 The perf tool is used to capture execution trace, configuring the trace
185 Arm recommends to use the perf version corresponding to the kernel running
189 make -C tools/perf CORESIGHT=1 VF=1 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
192 When specifying CORESIGHT=1, perf will be built using the installed OpenCSD library.
195 If the post-processing (`perf inject`) of the captured data is not being
197 of perf.
199 Trace is captured by collecting the `cs_etm` event from perf. The sink
205 perf record -e cs_etm/@tmc_etr0/u --per-thread -- /bin/ls
225 perf is also used to convert the execution trace an instruction profile.
226 This requires a different build of perf, using the version of perf from
240 Once trace collection using perf is working, we can now use it to profile
247 perf identifies the active program or library using the build identifier
252 perf tool. The ETM strobing should be configured before running the perf
264 will be integrated into the drivers and perf tool).
271 perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>"
274 The raw trace can be examined using the `perf report` command:
277 perf report -D -i perf.data --stdio
280 Perf needs to be built from your linux kernel version souce code repository against the OpenCSD lib…
281 If running `perf report` produces an error like:
294 …perf version which is not using this library: please make sure to install this project in your sys…
326 the perf build with trace decode support. This may be done on a different
328 an embedded target). The `perf inject` command
333 you'll need to run `perf buildid-cache` as described below.
335 perf inject -i perf.data -o inj.data --itrace=i100000il
346 Perf requires the original program binaries to decode the execution trace.
349 perf's cache with:
352 perf buildid-cache -a /path/to/binary_or_library
355 `perf report` can also be used to show the instruction samples:
358 perf report -D -i inj.data --stdio
383 The instruction samples produced by `perf inject` is then passed to the
433 perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>"
434 perf inject -i perf.data -o inj.data --itrace=i100000il
446 perf record -e cs_etm/@tmc_etr0/u --per-thread -- <your app>.
447 …If you specify `-N, --no-buildid-cache`, perf will just take care of recording the target binary a…
449 …m board) `perf archive` which saves all the found libraries in a tar (internally, it looks into pe…
450 3. (on host) `scp` to copy perf.data and the .tar file generated from `perf archive`.
454 …a. `perf buildid-list -i perf.data` gives you the list of dynamic libraries buildids whose trace h…
455 …b. `perf buildid-cache --list` lists the dynamic libraries in the buildid cache that will be used …
458 6. (on host) `perf inject -i perf.data -o inj.data --itrace=i100000il` will check for the dynamic l…
460 …/to/binary -profile=inj.data -out=program.llvmprof` takes the output from perf-inject and tranform…
471 `perf buildid-cache --add <path/to/library/or/binary> -vvv`
475 `perf buildid-cache --list`