perf-buildid-cache(1)
=====================

NAME
----
perf-buildid-cache - Manage build-id cache.

SYNOPSIS
--------
[verse]
'perf buildid-cache <options>'

DESCRIPTION
-----------
This command manages the build-id cache. It can add and remove files to/from
the cache. In the future it should as well purge older entries, set upper
limits for the space used by the cache, etc.

OPTIONS
-------
-a::
--add=::
        Add specified file to the cache.
-k::
--kcore::
        Add specified kcore file to the cache. For the current host that is
        /proc/kcore which requires root permissions to read. Be aware that
        running 'perf buildid-cache' as root may update root's build-id cache
        not the user's. Use the -v option to see where the file is created.
        Note that the copied file contains only code sections not the whole core
        image. Note also that files "kallsyms" and "modules" must also be in the
        same directory and are also copied.  All 3 files are created with read
        permissions for root only. kcore will not be added if there is already a
        kcore in the cache (with the same build-id) that has the same modules at
        the same addresses. Use the -v option to see if a copy of kcore is
        actually made.
-r::
--remove=::
        Remove specified file from the cache.
-M::
--missing=::
	List missing build ids in the cache for the specified file.
-u::
--update::
	Update specified file of the cache. It can be used to update kallsyms
	kernel dso to vmlinux in order to support annotation.
-v::
--verbose::
	Be more verbose.

SEE ALSO
--------
linkperf:perf-record[1], linkperf:perf-report[1], linkperf:perf-buildid-list[1]
