doc: Update kernel doc on how to use the perf package

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
Rolf Neugebauer 2017-06-15 10:38:57 -07:00
parent 0b6f1a72b6
commit 41d7775835

View File

@ -18,7 +18,10 @@ is also available under a shorthand tag, e.g. `linuxkit/kernel:4.9.x`
for the latest `4.9` kernel. For selected kernels (mostly the LTS for the latest `4.9` kernel. For selected kernels (mostly the LTS
kernels and latest stable kernels) we also compile/push kernels with kernels and latest stable kernels) we also compile/push kernels with
additional debugging enabled. The hub images for these kernels have additional debugging enabled. The hub images for these kernels have
the `_dbg` suffix in the tag. the `_dbg` suffix in the tag. For some kernels, we also provide
matching packages containing the `perf` utility for debugging and
performance tracing. The perf package is called `kernel-perf` and is
tagged the same way as the kernel packages.
In addition to the official kernel images, LinuxKit offers the ability In addition to the official kernel images, LinuxKit offers the ability
to build bootable Linux images with kernels from various to build bootable Linux images with kernels from various
@ -198,3 +201,20 @@ git format-patch -o $KITSRC/kernel/patches-4.9.x v4.9.15..HEAD
``` ```
Then, create a PR for LinuxKit. Then, create a PR for LinuxKit.
## Using `perf`
The `kernel-perf` package contains a statically linked `perf` binary
under `/usr/bin` which is matched with the kernel of the same tag.
The simplest way to use the `perf` utility is to add the package to
the `init` section in the YAML file. This adds the binary to the root
filesystem.
To use the binary, you can either bind mount it into the `getty` or `ssh` service container or you can access the root filesystem from the `getty` container via `nsenter`:
```
nsenter -m/proc/1/ns/mnt ash
```
Alternatively, you can add the `kernel-perf` package as stage in a
multi-stage build to add it to a custom package.