Jiri Olsa
0b5c88214e
perf tools: Add support to display build ids when available in PERF_RECORD_MMAP2 events
...
Add support to display the build id in PERF_RECORD_MMAP2 events, when
available:
$ perf script --show-mmap-events | head -4
swapper ... @ 0xffffffff81000000 <ff1969b3ba5e43911208bb46fa7d5b1eb809e422>]: ---p [kernel.kallsyms]_text
swapper ... @ 0 <5f62adb730272c9417883ae8b8a8ec224df8cddd>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/drivers/firmware/qemu_fw_cfg.ko
swapper ... @ 0 <c9ac6e1dafc1ebdadb048f967854e810706c8bab>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/drivers/char/virtio_console.ko
swapper ... @ 0 <86441a4c5b2c2ff5b440682f4c612bd4b426eb5c>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/lib/libcrc32c.ko
$ perf report -D | grep MMAP2 | head -4
0 0 ... @ 0xffffffff81000000 <ff1969b3ba5e43911208bb46fa7d5b1eb809e422>]: ---p [kernel.kallsyms]_text
0 0 ... @ 0 <5f62adb730272c9417883ae8b8a8ec224df8cddd>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/drivers/firmware/qemu_fw_cfg.ko
0 0 ... @ 0 <c9ac6e1dafc1ebdadb048f967854e810706c8bab>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/drivers/char/virtio_console.ko
0 0 ... @ 0 <86441a4c5b2c2ff5b440682f4c612bd4b426eb5c>]: ---p /lib/modules/5.9.0-rc5buildid+/kernel/lib/libcrc32c.ko
Adding build id data into <> brackets.
Committer testing:
$ perf record -vv --buildid-mmap sleep 1 |& grep -m1 build
Enabling build id in mmap2 events.
$ perf evlist -v
cycles:u: size: 120, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|PERIOD, read_format: ID, disabled: 1, inherit: 1, exclude_kernel: 1, mmap: 1, comm: 1, freq: 1, enable_on_exec: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1, ksymbol: 1, bpf_event: 1, build_id: 1
$
$ perf script --show-mmap-events | head -4
sleep 274800 2843.556112: PERF_RECORD_MMAP2 274800/274800: [0x564e2fd32000(0x3000) @ 0x2000 <c37cb90b77c79fc719798b066d78ef121285843e>]: r-xp /usr/bin/sleep
sleep 274800 2843.556129: PERF_RECORD_MMAP2 274800/274800: [0x7fa9550d7000(0x21000) @ 0x1000 <fc190f17c4f4dc4a8a26df18eaeed41ecdb2c61b>]: r-xp /usr/lib64/ld-2.32.so
sleep 274800 2843.556140: PERF_RECORD_MMAP2 274800/274800: [0x7ffd8fa96000(0x2000) @ 0 00:00 0 0]: r-xp [vdso]
sleep 274800 2843.556162: 1 cycles:u: ffffffffbb26bff4 [unknown] ([unknown])
$
$ perf buildid-list -i /usr/bin/sleep
c37cb90b77c79fc719798b066d78ef121285843e
$ perf buildid-list -i /usr/lib64/ld-2.32.so
fc190f17c4f4dc4a8a26df18eaeed41ecdb2c61b
And now on a system wide session to check the build ids synthesized for
the kernel and some kernel modules:
# perf record -a --buildid-mmap sleep 2s
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.717 MB perf.data ]
# perf script --show-mmap-events | head -4
swapper 0 [000] 0.000000: PERF_RECORD_MMAP2 -1/0: [0xffffffffbb000000(0xe02557) @ 0xffffffffbb000000 <e71ac4b0b0631c27181dab25d63be18dad02feb8>]: ---p [kernel.kallsyms]_text
swapper 0 [000] 0.000000: PERF_RECORD_MMAP2 -1/0: [0xffffffffc01dc000(0x6000) @ 0 <36d21515c0b22eb2859b6419a6cdf87ef4cd01c8>]: ---p /lib/modules/5.11.0-rc1+/kernel/drivers/i2c/i2c-dev.ko
swapper 0 [000] 0.000000: PERF_RECORD_MMAP2 -1/0: [0xffffffffc01eb000(0x24000) @ 0 <c4fbfea32d0518b3e7879de8deca40ea142bb782>]: ---p /lib/modules/5.11.0-rc1+/kernel/fs/fuse/fuse.ko
swapper 0 [000] 0.000000: PERF_RECORD_MMAP2 -1/0: [0xffffffffc0210000(0x7000) @ 0 <dd6cfb10ae66aa7b1e7b37000a004004be8092e0>]: ---p /lib/modules/5.11.0-rc1+/kernel/drivers/block/zram/zram.ko
# perf buildid-list -h kernel
Usage: perf buildid-list [<options>]
-k, --kernel Show current kernel build id
# perf buildid-list --kernel
e71ac4b0b0631c27181dab25d63be18dad02feb8
# file /lib/modules/5.11.0-rc1+/kernel/drivers/i2c/i2c-dev.ko
/lib/modules/5.11.0-rc1+/kernel/drivers/i2c/i2c-dev.ko: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=36d21515c0b22eb2859b6419a6cdf87ef4cd01c8, with debug_info, not stripped
# perf buildid-list -i /lib/modules/5.11.0-rc1+/kernel/drivers/i2c/i2c-dev.ko
36d21515c0b22eb2859b6419a6cdf87ef4cd01c8
# perf buildid-list -i /lib/modules/5.11.0-rc1+/kernel/fs/fuse/fuse.ko
c4fbfea32d0518b3e7879de8deca40ea142bb782
# perf buildid-list -i /lib/modules/5.11.0-rc1+/kernel/drivers/block/zram/zram.ko
dd6cfb10ae66aa7b1e7b37000a004004be8092e0
#
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Ian Rogers <irogers@google.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexei Budankov <abudankov@huawei.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lore.kernel.org/lkml/20201214105457.543111-12-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-12-28 11:36:52 -03:00
..
2020-11-26 09:31:46 -03:00
2020-01-14 12:02:19 -03:00
2020-05-05 16:35:32 -03:00
2020-11-12 17:55:41 -03:00
2020-08-06 09:02:43 -03:00
2019-09-20 09:19:20 -03:00
2020-11-03 08:32:43 -03:00
2019-11-28 08:08:38 -03:00
2019-11-28 08:08:38 -03:00
2020-11-04 09:42:41 -03:00
2020-05-28 10:03:27 -03:00
2019-03-11 11:56:02 -03:00
2020-11-26 09:31:23 -03:00
2018-01-17 10:23:31 -03:00
2020-11-30 15:00:12 -03:00
2020-11-11 12:24:51 -03:00
2020-03-09 21:43:25 -03:00
2020-03-09 21:43:25 -03:00
2019-01-25 15:12:09 +01:00
2019-01-25 15:12:09 +01:00
2019-02-19 16:11:56 -03:00
2019-02-19 16:11:56 -03:00
2020-11-30 09:40:10 -03:00
2020-05-05 16:35:29 -03:00
2020-11-30 09:48:07 -03:00
2020-11-04 09:42:40 -03:00
2020-06-09 12:40:04 -03:00
2019-09-20 09:19:20 -03:00
2020-05-28 10:03:27 -03:00
2020-10-14 13:27:28 -03:00
2020-11-27 08:37:29 -03:00
2020-11-27 08:37:29 -03:00
2019-08-29 17:38:32 -03:00
2019-08-26 11:58:29 -03:00
2019-07-09 10:13:27 -03:00
2019-06-05 17:36:37 +02:00
2020-10-14 13:34:26 -03:00
2020-10-14 13:34:26 -03:00
2019-08-14 10:48:39 -03:00
2020-04-16 12:19:08 -03:00
2020-11-30 14:52:44 -03:00
2020-09-28 09:18:06 -03:00
2020-08-06 09:33:57 -03:00
2020-08-06 09:33:57 -03:00
2020-05-28 10:03:26 -03:00
2019-08-31 22:24:10 -03:00
2019-08-31 22:24:10 -03:00
2019-01-25 15:12:08 +01:00
2019-07-09 10:13:26 -03:00
2019-01-25 15:12:09 +01:00
2019-05-15 16:36:49 -03:00
2020-10-13 17:03:19 -03:00
2020-10-13 17:03:19 -03:00
2019-10-15 12:05:18 -03:00
2019-09-25 09:51:49 -03:00
2020-05-28 10:03:27 -03:00
2020-05-28 10:03:27 -03:00
2019-02-06 10:00:39 -03:00
2020-12-24 10:05:28 -03:00
2020-12-24 10:05:28 -03:00
2019-08-22 17:16:57 -03:00
2020-05-28 10:03:27 -03:00
2020-09-01 12:15:52 -03:00
2020-05-05 16:35:32 -03:00
2020-08-06 09:43:37 -03:00
2020-08-06 09:43:37 -03:00
2020-11-27 08:37:15 -03:00
2020-11-27 08:37:15 -03:00
2019-11-26 11:07:46 -03:00
2019-07-29 18:34:42 -03:00
2020-12-17 14:36:17 -03:00
2020-12-17 14:36:17 -03:00
2020-05-28 10:03:28 -03:00
2019-09-20 09:19:20 -03:00
2020-11-27 08:36:53 -03:00
2020-11-27 08:36:53 -03:00
2020-10-14 11:28:52 -03:00
2019-11-19 19:12:26 -03:00
2018-12-28 16:33:02 -03:00
2018-12-28 16:33:02 -03:00
2020-11-27 14:36:15 -03:00
2019-11-06 15:43:06 -03:00
2019-09-20 09:19:20 -03:00
2020-11-04 09:42:41 -03:00
2020-11-04 09:42:41 -03:00
2020-12-28 11:36:52 -03:00
2020-12-19 17:04:39 -03:00
2019-08-31 22:24:10 -03:00
2020-12-17 14:36:17 -03:00
2020-12-17 14:36:17 -03:00
2020-05-28 10:03:24 -03:00
2020-05-28 10:03:24 -03:00
2020-05-28 10:03:24 -03:00
2020-12-28 11:35:57 -03:00
2020-12-17 14:36:16 -03:00
2020-11-30 09:48:07 -03:00
2019-08-15 12:25:55 -03:00
2020-11-16 14:09:18 -03:00
2020-11-16 14:09:18 -03:00
2020-06-22 16:28:09 -03:00
2020-11-16 14:09:18 -03:00
2019-01-08 13:28:13 -03:00
2019-11-28 08:08:38 -03:00
2019-11-28 08:08:38 -03:00
2020-05-29 16:51:38 -03:00
2019-11-29 12:20:45 -03:00
2019-09-25 16:26:41 -03:00
2018-04-12 10:33:31 -03:00
2019-08-26 11:58:29 -03:00
2019-07-09 10:13:26 -03:00
2020-11-03 08:26:55 -03:00
2020-11-27 14:19:33 -03:00
2020-11-30 15:15:30 -03:00
2020-08-06 09:35:06 -03:00
2019-07-09 10:13:26 -03:00
2020-12-19 17:52:24 -03:00
2020-12-19 17:52:24 -03:00
2020-05-05 16:35:30 -03:00
2019-06-05 17:36:37 +02:00
2020-11-30 14:17:57 -03:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:04 +02:00
2019-01-25 15:12:10 +01:00
2020-09-22 13:46:40 -03:00
2020-05-28 10:03:27 -03:00
2019-09-20 10:28:26 -03:00
2020-03-04 10:34:10 -03:00
2019-08-29 17:38:32 -03:00
2019-09-20 09:19:20 -03:00
2020-12-28 10:01:55 -03:00
2020-09-17 15:47:12 -03:00
2020-12-19 17:52:24 -03:00
2020-12-28 10:01:55 -03:00
2020-12-28 10:01:55 -03:00
2019-11-26 11:07:46 -03:00
2020-11-04 09:42:40 -03:00
2019-08-31 19:10:40 -03:00
2020-11-11 10:30:25 -03:00
2020-11-11 10:30:25 -03:00
2019-09-20 09:19:22 -03:00
2020-12-17 14:36:17 -03:00
2020-09-28 09:16:21 -03:00
2020-03-12 11:32:46 -03:00
2020-01-06 11:46:09 -03:00
2019-09-20 10:28:21 -03:00
2019-09-20 10:28:21 -03:00
2020-04-30 10:48:32 -03:00
2020-05-28 10:03:27 -03:00
2019-08-31 19:10:19 -03:00
2020-11-30 14:52:44 -03:00
2020-09-28 09:22:39 -03:00
2020-10-14 12:24:28 -03:00
2020-09-28 09:22:39 -03:00
2020-12-17 14:36:16 -03:00
2019-05-15 16:36:49 -03:00
2020-08-14 09:15:47 -03:00
2020-08-14 09:15:47 -03:00
2019-08-31 22:24:10 -03:00
2019-08-31 22:24:10 -03:00
2020-12-28 11:35:57 -03:00
2020-12-28 11:35:57 -03:00
2020-12-28 11:35:57 -03:00
2019-10-10 09:29:33 -03:00
2019-11-28 08:08:38 -03:00
2019-09-20 09:19:20 -03:00
2019-05-28 18:37:44 -03:00
2020-05-29 16:51:38 -03:00
2020-05-29 16:51:38 -03:00
2020-12-17 14:36:17 -03:00
2020-12-17 14:36:17 -03:00
2020-10-01 12:10:56 -03:00
2020-10-14 08:46:22 -03:00
2019-11-18 19:09:23 -03:00
2020-12-28 09:53:28 -03:00
2019-11-18 19:08:02 -03:00
2020-11-27 14:36:15 -03:00
2020-09-18 09:20:47 -03:00
2020-05-28 10:03:27 -03:00
2020-04-03 09:37:55 -03:00
2020-11-30 14:17:57 -03:00
2019-01-25 15:12:10 +01:00
2019-06-05 17:37:04 +02:00
2019-01-25 15:12:10 +01:00
2020-11-30 15:15:27 -03:00
2020-12-28 11:35:57 -03:00
2019-07-09 14:59:11 -03:00
2019-07-09 14:59:11 -03:00
2019-09-20 09:19:20 -03:00
2020-04-16 12:19:15 -03:00
2018-08-08 15:26:48 -03:00
2020-11-30 14:17:57 -03:00
2018-08-03 10:34:18 -03:00
2020-11-30 15:15:30 -03:00
2020-11-30 15:15:30 -03:00
2020-11-30 15:15:30 -03:00
2020-12-28 09:58:40 -03:00
2019-11-22 10:48:13 -03:00
2019-07-09 10:13:26 -03:00
2020-04-14 08:43:18 -03:00
2020-11-30 14:56:52 -03:00
2020-05-05 16:35:29 -03:00
2020-12-19 17:52:24 -03:00
2020-12-19 17:52:24 -03:00
2019-10-11 10:57:00 -03:00
2019-10-11 10:57:00 -03:00
2019-11-28 08:08:38 -03:00
2019-02-06 10:00:38 -03:00
2020-01-30 11:55:26 +01:00
2019-01-25 15:12:09 +01:00
2020-12-24 10:05:28 -03:00
2020-09-17 15:48:08 -03:00
2020-12-24 10:05:04 -03:00
2020-12-24 10:04:32 -03:00
2019-08-31 19:10:19 -03:00
2020-10-14 13:34:26 -03:00
2020-10-14 13:34:26 -03:00
2019-07-09 10:13:26 -03:00
2019-10-15 13:03:57 -03:00
2019-07-01 22:50:40 -03:00
2019-07-09 10:13:26 -03:00
2019-01-25 15:12:10 +01:00
2019-09-20 09:19:21 -03:00
2019-08-29 17:38:31 -03:00
2020-12-28 10:22:55 -03:00
2019-08-31 22:24:05 -03:00
2020-12-17 14:36:17 -03:00
2020-10-14 08:46:42 -03:00
2020-11-27 08:37:08 -03:00
2020-11-03 08:30:34 -03:00
2019-08-31 22:24:05 -03:00
2020-12-28 10:25:33 -03:00
2020-04-03 09:37:55 -03:00
2020-05-29 16:50:29 -03:00
2020-05-29 16:50:26 -03:00
2019-09-20 09:19:20 -03:00
2017-12-27 12:15:47 -03:00
2019-08-29 08:36:12 -03:00
2019-08-29 08:36:12 -03:00
2020-05-05 16:35:29 -03:00
2020-05-05 16:35:29 -03:00
2020-04-18 09:05:01 -03:00
2020-04-18 09:05:01 -03:00
2019-10-15 08:36:22 -03:00
2019-10-15 08:36:22 -03:00
2020-07-10 08:20:01 -03:00
2020-05-05 16:35:30 -03:00
2020-05-05 16:35:29 -03:00
2020-09-17 15:47:58 -03:00
2020-09-17 15:47:58 -03:00
2020-05-28 10:03:27 -03:00
2019-11-05 08:39:27 -03:00
2020-04-30 10:48:32 -03:00
2019-08-29 17:38:32 -03:00
2019-09-20 09:19:20 -03:00
2019-11-05 08:39:27 -03:00
2019-08-29 17:38:32 -03:00
2020-09-22 13:46:40 -03:00
2020-09-22 13:45:21 -03:00
2020-12-17 14:36:16 -03:00
2020-05-28 10:03:27 -03:00
2019-11-26 11:07:46 -03:00
2019-11-26 11:07:46 -03:00
2019-09-20 09:19:20 -03:00
2020-04-16 12:19:08 -03:00
2020-09-10 11:55:37 -03:00
2019-08-31 19:10:19 -03:00
2019-11-26 11:07:46 -03:00
2019-07-09 10:13:26 -03:00
2019-09-20 09:19:20 -03:00
2020-09-01 12:15:21 -03:00