^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) perf-buildid-cache(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) NAME
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) ----
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) perf-buildid-cache - Manage build-id cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) SYNOPSIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) [verse]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 'perf buildid-cache <options>'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) DESCRIPTION
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) This command manages the build-id cache. It can add, remove, update and purge
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) files to/from the cache. In the future it should as well set upper limits for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) the space used by the cache, etc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) This also scans the target binary for SDT (Statically Defined Tracing) and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) record it along with the buildid-cache, which will be used by perf-probe.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) For more details, see linkperf:perf-probe[1].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) OPTIONS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) -------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) -a::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) --add=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Add specified file to the cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) -f::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) --force::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) Don't complain, do it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) -k::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) --kcore::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Add specified kcore file to the cache. For the current host that is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) /proc/kcore which requires root permissions to read. Be aware that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) running 'perf buildid-cache' as root may update root's build-id cache
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) not the user's. Use the -v option to see where the file is created.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Note that the copied file contains only code sections not the whole core
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) image. Note also that files "kallsyms" and "modules" must also be in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) same directory and are also copied. All 3 files are created with read
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) permissions for root only. kcore will not be added if there is already a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) kcore in the cache (with the same build-id) that has the same modules at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) the same addresses. Use the -v option to see if a copy of kcore is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) actually made.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) -r::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) --remove=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Remove a cached binary which has same build-id of specified file
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) from the cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) -p::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) --purge=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Purge all cached binaries including older caches which have specified
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) path from the cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) -P::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) --purge-all::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) Purge all cached binaries. This will flush out entire cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) -M::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) --missing=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) List missing build ids in the cache for the specified file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) -u::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) --update=::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) Update specified file of the cache. Note that this doesn't remove
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) older entires since those may be still needed for annotating old
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) (or remote) perf.data. Only if there is already a cache which has
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) exactly same build-id, that is replaced by new one. It can be used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) to update kallsyms and kernel dso to vmlinux in order to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) annotation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) -l::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) --list::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) List all valid binaries from cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) -v::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) --verbose::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) Be more verbose.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) --target-ns=PID:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Obtain mount namespace information from the target pid. This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) used when creating a uprobe for a process that resides in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) different mount namespace from the perf(1) utility.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) SEE ALSO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) --------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-buildid-list[1]