[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191004083121.12182-1-adrian.hunter@intel.com>
Date: Fri, 4 Oct 2019 11:31:16 +0300
From: Adrian Hunter <adrian.hunter@...el.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>,
Jiri Olsa <jolsa@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: [PATCH 0/5] perf record: Put a copy of kcore into the perf.data directory
Hi
Here are patches to add a new 'perf record' option '--kcore' which will put
a copy of /proc/kcore, kallsyms and modules into a perf.data directory.
Note, that without the --kcore option, output goes to a file as previously.
The tools' -o and -i options work with either a file name or directory
name.
Example:
$ sudo perf record --kcore uname
$ sudo tree perf.data
perf.data
├── kcore_dir
│ ├── kallsyms
│ ├── kcore
│ └── modules
└── data
$ sudo perf script -v
build id event received for vmlinux: 1eaa285996affce2d74d8e66dcea09a80c9941de
build id event received for [vdso]: 8bbaf5dc62a9b644b4d4e4539737e104e4a84541
Samples for 'cycles' event do not have CPU attribute set. Skipping 'cpu' field.
Using CPUID GenuineIntel-6-8E-A
Using perf.data/kcore_dir/kcore for kernel data
Using perf.data/kcore_dir/kallsyms for symbols
perf 19058 506778.423729: 1 cycles: ffffffffa2caa548 native_write_msr+0x8 (vmlinux)
perf 19058 506778.423733: 1 cycles: ffffffffa2caa548 native_write_msr+0x8 (vmlinux)
perf 19058 506778.423734: 7 cycles: ffffffffa2caa548 native_write_msr+0x8 (vmlinux)
perf 19058 506778.423736: 117 cycles: ffffffffa2caa54a native_write_msr+0xa (vmlinux)
perf 19058 506778.423738: 2092 cycles: ffffffffa2c9b7b0 native_apic_msr_write+0x0 (vmlinux)
perf 19058 506778.423740: 37380 cycles: ffffffffa2f121d0 perf_event_addr_filters_exec+0x0 (vmlinux)
uname 19058 506778.423751: 582673 cycles: ffffffffa303a407 propagate_protected_usage+0x147 (vmlinux)
uname 19058 506778.423892: 2241841 cycles: ffffffffa2cae0c9 unwind_next_frame.part.5+0x79 (vmlinux)
uname 19058 506778.424430: 2457397 cycles: ffffffffa3019232 check_memory_region+0x52 (vmlinux)
Adrian Hunter (5):
perf data: Correctly identify directory data files
perf data: Move perf_dir_version into data.h
perf data: Rename directory "header" file to "data"
perf tools: Support single perf.data file directory
perf record: Put a copy of kcore into the perf.data directory
tools/perf/Documentation/perf-record.txt | 3 ++
.../Documentation/perf.data-directory-format.txt | 63 ++++++++++++++++++++++
tools/perf/builtin-record.c | 54 ++++++++++++++++++-
tools/perf/util/data.c | 46 ++++++++++++++--
tools/perf/util/data.h | 12 +++++
tools/perf/util/header.h | 4 --
tools/perf/util/record.h | 1 +
tools/perf/util/session.c | 4 ++
tools/perf/util/util.c | 19 ++++++-
9 files changed, 197 insertions(+), 9 deletions(-)
create mode 100644 tools/perf/Documentation/perf.data-directory-format.txt
Regards
Adrian
Powered by blists - more mailing lists