linux/tools/perf/util
Steve MacLean ee212d6ea2 perf map: Fix overlapped map handling
Whenever an mmap/mmap2 event occurs, the map tree must be updated to add a new
entry. If a new map overlaps a previous map, the overlapped section of the
previous map is effectively unmapped, but the non-overlapping sections are
still valid.

maps__fixup_overlappings() is responsible for creating any new map entries from
the previously overlapped map. It optionally creates a before and an after map.

When creating the after map the existing code failed to adjust the map.pgoff.
This meant the new after map would incorrectly calculate the file offset
for the ip. This results in incorrect symbol name resolution for any ip in the
after region.

Make maps__fixup_overlappings() correctly populate map.pgoff.

Add an assert that new mapping matches old mapping at the beginning of
the after map.

Committer-testing:

Validated correct parsing of libcoreclr.so symbols from .NET Core 3.0 preview9
(which didn't strip symbols).

Preparation:

  ~/dotnet3.0-preview9/dotnet new webapi -o perfSymbol
  cd perfSymbol
  ~/dotnet3.0-preview9/dotnet publish
  perf record ~/dotnet3.0-preview9/dotnet \
      bin/Debug/netcoreapp3.0/publish/perfSymbol.dll
  ^C

Before:

  perf script --show-mmap-events 2>&1 | grep -e MMAP -e unknown |\
     grep libcoreclr.so | head -n 4
        dotnet  1907 373352.698780: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615726000(0x768000) @ 0 08:02 5510620 765057155]: \
            r-xp .../3.0.0-preview9-19423-09/libcoreclr.so
        dotnet  1907 373352.701091: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615974000(0x1000) @ 0x24e000 08:02 5510620 765057155]: \
            rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
        dotnet  1907 373352.701241: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615c42000(0x1000) @ 0x51c000 08:02 5510620 765057155]: \
            rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
        dotnet  1907 373352.705249:     250000 cpu-clock: \
             7fe6159a1f99 [unknown] \
             (.../3.0.0-preview9-19423-09/libcoreclr.so)

After:

  perf script --show-mmap-events 2>&1 | grep -e MMAP -e unknown |\
     grep libcoreclr.so | head -n 4
        dotnet  1907 373352.698780: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615726000(0x768000) @ 0 08:02 5510620 765057155]: \
            r-xp .../3.0.0-preview9-19423-09/libcoreclr.so
        dotnet  1907 373352.701091: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615974000(0x1000) @ 0x24e000 08:02 5510620 765057155]: \
            rwxp .../3.0.0-preview9-19423-09/libcoreclr.so
        dotnet  1907 373352.701241: PERF_RECORD_MMAP2 1907/1907: \
            [0x7fe615c42000(0x1000) @ 0x51c000 08:02 5510620 765057155]: \
            rwxp .../3.0.0-preview9-19423-09/libcoreclr.so

All the [unknown] symbols were resolved.

Signed-off-by: Steve MacLean <Steve.MacLean@Microsoft.com>
Tested-by: Brian Robbins <brianrob@microsoft.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Eric Saint-Etienne <eric.saint.etienne@oracle.com>
Cc: John Keeping <john@metanate.com>
Cc: John Salem <josalem@microsoft.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Song Liu <songliubraving@fb.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom McDonald <thomas.mcdonald@microsoft.com>
Link: http://lore.kernel.org/lkml/BN8PR21MB136270949F22A6A02335C238F7800@BN8PR21MB1362.namprd21.prod.outlook.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-09-30 17:29:46 -03:00
..
c++ perf clang: Delete needless util-cxx.h header 2019-08-28 18:14:57 -03:00
cs-etm-decoder perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
include perf tools: Remove old baggage that is util/include/linux/ctype.h 2019-06-25 18:31:12 -03:00
intel-pt-decoder perf intel-pt: Use shared x86 insn decoder 2019-08-31 22:27:52 -03:00
libunwind perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
scripting-engines perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
annotate.c perf tools: Replace needless mmap.h with what is needed, event.h 2019-09-25 16:26:40 -03:00
annotate.h libperf: Add nr_entries to struct perf_evlist 2019-07-29 18:34:45 -03:00
archinsn.h perf script: Support insn output for normal samples 2019-03-11 11:56:02 -03:00
arm-spe-pkt-decoder.c
arm-spe-pkt-decoder.h
arm-spe.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
arm-spe.h
auxtrace.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
auxtrace.h perf tools: Rename 'struct perf_mmap' to 'struct mmap' 2019-09-25 09:51:44 -03:00
block-range.c perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
block-range.h perf block-range: Add missing headers 2019-01-25 15:12:09 +01:00
bpf_map.c perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf_map.h perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
bpf-event.c perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
bpf-event.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
bpf-loader.c libperf: Add perf_evlist__first()/last() functions 2019-09-25 09:51:48 -03:00
bpf-loader.h perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
bpf-prologue.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
bpf-prologue.h
branch.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
branch.h perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
Build perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
build-id.c perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
build-id.h perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
cache.h
cacheline.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
cacheline.h perf cacheline: Move cacheline related routines to separate files 2019-08-26 11:58:29 -03:00
call-path.c perf tools: Use list_del_init() more thorougly 2019-07-09 10:13:27 -03:00
call-path.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
callchain.c perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
callchain.h perf callchain: Remove needless event.h include 2019-09-20 09:19:21 -03:00
cap.c perf tools: Add helpers to use capabilities if present 2019-08-14 10:48:39 -03:00
cap.h perf tools: Add CAP_SYSLOG define for older systems 2019-08-14 10:59:59 -03:00
cgroup.c perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
cgroup.h perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
cloexec.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
cloexec.h
color_config.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
color.h perf color: Add missing stdarg.g to color.h 2019-01-25 15:12:08 +01:00
comm.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
comm.h perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
compress.h perf report: Implement perf.data record decompression 2019-05-15 16:36:49 -03:00
config.c perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
config.h perf config: Call perf_config__init() lazily 2018-05-16 16:11:09 -03:00
copyfile.c perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
copyfile.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
counts.c perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
counts.h perf counts: Add missing headers needed for types used 2019-08-22 17:16:56 -03:00
cpu-set-sched.h perf tools: Add fallback versions for CPU_{OR,EQUAL}() 2019-02-06 10:00:39 -03:00
cpumap.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
cpumap.h libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
cputopo.c perf cpumap: Remove needless includes from cpumap.h 2019-08-22 17:16:57 -03:00
cputopo.h perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
cs-etm.c libperf: Move 'id' from 'struct evsel' to 'struct perf_evsel' 2019-09-25 09:51:47 -03:00
cs-etm.h perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
data-convert-bt.c perf session: Return error code for perf_session__new() function on failure 2019-09-20 15:58:11 -03:00
data-convert-bt.h
data-convert.h
data.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
data.h perf record: Allow to limit number of reported perf.data files 2019-03-19 11:56:20 -03:00
db-export.c perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
db-export.h perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
debug.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
debug.h perf debug: No need to include ui/util.h 2019-09-20 09:19:20 -03:00
demangle-java.c perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
demangle-java.h
demangle-rust.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
demangle-rust.h
dso.c perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
dso.h perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
dsos.c perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
dsos.h perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
dump-insn.c perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dump-insn.h perf script: Fix LBR skid dump problems in brstackinsn 2018-12-28 16:33:02 -03:00
dwarf-aux.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
dwarf-aux.h perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
dwarf-regs.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
env.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
env.h perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
event.c perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
event.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
events_stats.h perf tools: Move 'struct events_stats' and prototypes to separate header 2019-08-31 22:24:10 -03:00
evlist.c perf evlist: Fix access of freed id arrays 2019-09-25 16:26:40 -03:00
evlist.h perf evlist: Remove unused perf_evlist__fprintf() method 2019-09-25 16:26:40 -03:00
evsel_config.h perf evsel: Move config terms to a separate header 2019-09-25 16:26:40 -03:00
evsel_fprintf.c perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
evsel_fprintf.h perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
evsel.c perf evsel: Move config terms to a separate header 2019-09-25 16:26:40 -03:00
evsel.h perf evsel: Move config terms to a separate header 2019-09-25 16:26:40 -03:00
evswitch.c perf evswitch: Add hint when not finding specified on/off events 2019-08-15 12:26:13 -03:00
evswitch.h perf evswitch: Introduce init() method to set the on/off evsels from the command line 2019-08-15 12:25:55 -03:00
expr.h
expr.y perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
find-map.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
genelf_debug.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
genelf.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
genelf.h perf jvmti: Include JVMTI support for s390 2019-09-25 16:26:41 -03:00
generate-cmdlist.sh
get_current_dir_name.c perf tools: Remove duplicate headers 2019-08-26 11:58:29 -03:00
get_current_dir_name.h perf tools: Move get_current_dir_name() cond prototype out of util.h 2019-07-09 10:13:26 -03:00
group.h
header.c perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
header.h perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
help-unknown-cmd.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
help-unknown-cmd.h
hist.c perf symbols: Move mem_info and branch_info out of symbol.h 2019-08-31 22:27:48 -03:00
hist.h perf hist: Add missing 'struct branch_stack' forward declaration 2019-09-20 09:19:22 -03:00
intel-bts.c libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel' 2019-09-25 09:51:47 -03:00
intel-bts.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intel-pt.c libperf: Move 'ids' from 'struct evsel' to 'struct perf_evsel' 2019-09-25 09:51:47 -03:00
intel-pt.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
intlist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
intlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
jit.h
jitdump.c libperf: Add perf_evlist__first()/last() functions 2019-09-25 09:51:48 -03:00
jitdump.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 480 2019-06-19 17:09:51 +02:00
kvm-stat.h perf kvm: Add arch neutral function to choose event for perf kvm record 2019-09-20 10:28:26 -03:00
levenshtein.c
levenshtein.h
llvm-utils.c perf llvm: Don't access out-of-scope array 2019-09-30 17:29:35 -03:00
llvm-utils.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
lzma.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
machine.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
machine.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
map_groups.h perf unwind: Fix libunwind when tid != pid 2019-08-16 12:25:57 -03:00
map_symbol.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
map.c perf map: Fix overlapped map handling 2019-09-30 17:29:46 -03:00
map.h perf evsel: Rename struct perf_evsel to struct evsel 2019-07-29 18:34:42 -03:00
mem2node.c perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
mem2node.h perf env: Remove env.h from other headers where just a fwd decl is needed 2019-08-31 19:10:40 -03:00
mem-events.c perf symbols: Move mem_info and branch_info out of symbol.h 2019-08-31 22:27:48 -03:00
mem-events.h perf symbols: Move mem_info and branch_info out of symbol.h 2019-08-31 22:27:48 -03:00
memswap.c
memswap.h perf memswap: Adopt 'struct u64_swap' from evsel.h 2019-09-20 09:19:22 -03:00
metricgroup.c perf metricgroup: Support multiple events for metricgroup 2019-08-31 22:27:52 -03:00
metricgroup.h perf metricgroup: Scale the metric result 2019-08-31 22:27:52 -03:00
mmap.c libperf: Use sys/types.h to get ssize_t, not unistd.h 2019-09-25 09:51:49 -03:00
mmap.h libperf: Add 'flush' to 'struct perf_mmap' 2019-09-25 09:51:46 -03:00
namespaces.c perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
namespaces.h perf tools: Move event synthesizing routines to separate .c file 2019-09-20 10:28:21 -03:00
ordered-events.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
ordered-events.h perf ordered_events: Add first_time() method 2018-12-17 15:02:17 -03:00
parse-branch-options.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
parse-branch-options.h
parse-events.c perf tools: Replace needless mmap.h with what is needed, event.h 2019-09-25 16:26:40 -03:00
parse-events.h perf tools: Add aux-output config term 2019-08-14 10:59:59 -03:00
parse-events.l perf tools: Add aux-output config term 2019-08-14 10:59:59 -03:00
parse-events.y perf parser: Remove needless include directives 2019-09-25 16:26:41 -03:00
parse-regs-options.c perf tools: Add missing headers, mostly stdlib.h 2019-07-09 10:13:22 -03:00
parse-regs-options.h perf parse-regs: Split parse_regs 2019-05-15 16:36:49 -03:00
path.c perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
path.h perf tools: Remove needless evlist.h include directives 2019-08-31 22:24:10 -03:00
perf_event_attr_fprintf.c perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
perf_regs.c perf parse-regs: Add generic support for arch__intr/user_reg_mask() 2019-05-16 14:17:12 -03:00
perf_regs.h perf record: Allow mixing --user-regs with --call-graph=dwarf 2019-06-05 09:47:54 -03:00
perf-hooks-list.h
perf-hooks.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
perf-hooks.h
PERF-VERSION-GEN perf version: Append 12 git SHA chars to the version string 2019-05-28 18:37:44 -03:00
pmu.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
pmu.h perf pmu: Change convert_scale from static to global 2019-08-31 22:27:51 -03:00
pmu.l
pmu.y
print_binary.c tools perf: Move from sane_ctype.h obtained from git to the Linux's original 2019-06-25 21:02:47 -03:00
print_binary.h
probe-event.c perf probe: Fix to clear tev->nargs in clear_probe_trace_event() 2019-09-20 15:30:09 -03:00
probe-event.h perf-probe: Add user memory access attribute support 2019-05-25 23:04:42 -04:00
probe-file.c perf probe: Add missing build-id.h header. 2019-09-20 09:19:20 -03:00
probe-file.h perf-probe: Add user memory access attribute support 2019-05-25 23:04:42 -04:00
probe-finder.c perf probe: Skip same probe address for a given line 2019-09-20 15:22:00 -03:00
probe-finder.h tools perf: Move from sane_ctype.h obtained from git to the Linux's original 2019-06-25 21:02:47 -03:00
pstack.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
pstack.h
python-ext-sources perf evsel: Introduce evsel_fprintf.h 2019-09-25 16:26:34 -03:00
python.c libperf: Add perf_evlist__poll() function 2019-09-25 09:51:49 -03:00
rb_resort.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 305 2019-06-05 17:37:04 +02:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
record.c libperf: Add perf_evlist__first()/last() functions 2019-09-25 09:51:48 -03:00
record.h perf record: Move record_opts and other record decls out of perf.h 2019-08-26 11:58:22 -03:00
rlimit.c perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rlimit.h perf tools: Introduce rlimit__bump_memlock() helper 2019-07-09 14:59:11 -03:00
rwsem.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
rwsem.h
s390-cpumcf-kernel.h perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
s390-cpumsf-kernel.h perf report: Add raw report support for s390 auxiliary trace 2018-08-08 15:26:48 -03:00
s390-cpumsf.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
s390-cpumsf.h perf auxtrace: Support for perf report -D for s390 2018-08-03 10:34:18 -03:00
s390-sample-raw.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
sample-raw.c perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
sample-raw.h perf evlist: Rename struct perf_evlist to struct evlist 2019-07-29 18:34:42 -03:00
session.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
session.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
setns.c perf namespaces: Move the conditional setns() prototype to namespaces.h 2019-07-09 10:13:26 -03:00
setup.py perf tools: Add helpers to use capabilities if present 2019-08-14 10:48:39 -03:00
smt.c perf tools: Apply new CPU topology sysfs attributes 2019-06-10 16:20:11 -03:00
smt.h
sort.c libperf: Add perf_evlist__first()/last() functions 2019-09-25 09:51:48 -03:00
sort.h perf tools: Move 'struct events_stats' and prototypes to separate header 2019-08-31 22:24:10 -03:00
srccode.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
srccode.h perf srccode: Move struct definition from map.h to srccode.h 2019-02-06 10:00:38 -03:00
srcline.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
srcline.h perf callchain: Use cached rbtrees 2019-01-25 15:12:09 +01:00
stat-display.c perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
stat-shadow.c perf stat: Fix free memory access / memory leaks in metrics 2019-09-25 16:26:40 -03:00
stat.c libperf: Move 'system_wide' from 'struct evsel' to 'struct perf_evsel' 2019-09-25 09:51:46 -03:00
stat.h perf stat: Reset previous counts on repeat with interval 2019-09-20 10:28:26 -03:00
strbuf.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
strbuf.h
strfilter.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strfilter.h
string2.h tools lib: Move argv_{split,free} from tools/perf/util/ 2019-07-01 22:50:40 -03:00
string.c tools lib: Move argv_{split,free} from tools/perf/util/ 2019-07-01 22:50:40 -03:00
strlist.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
strlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
svghelper.c perf env: Remove needless cpumap.h header 2019-09-20 09:19:21 -03:00
svghelper.h perf timechart: Refactor svg_build_topology_map() 2019-08-29 17:38:31 -03:00
symbol_conf.h perf diff: Print the basic block cycles diff 2019-07-02 13:20:51 -03:00
symbol_fprintf.c perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
symbol-elf.c perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
symbol-minimal.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
symbol.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
symbol.h perf symbols: Move mem_info and branch_info out of symbol.h 2019-08-31 22:27:48 -03:00
symsrc.h perf symbols: Move symsrc prototypes to a separate header 2019-08-31 22:24:05 -03:00
synthetic-events.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
synthetic-events.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
syscalltbl.c perf trace: Preallocate the syscall table 2019-07-29 18:34:42 -03:00
syscalltbl.h perf trace: Preallocate the syscall table 2019-07-29 18:34:42 -03:00
target.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
target.h
term.c
term.h
thread_map.c libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread_map.h libperf: Rename the PERF_RECORD_ structs to have a "perf" prefix 2019-08-29 08:36:12 -03:00
thread-stack.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
thread-stack.h perf/core improvements and fixes: 2019-06-17 20:48:14 +02:00
thread.c perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
thread.h libperf: Rename the PERF_RECORD_ structs to have a "perf" suffix 2019-08-26 19:39:11 -03:00
time-utils.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
time-utils.h perf time-utils: Adopt rdclock() from perf.h 2019-08-29 17:38:32 -03:00
tool.h perf tool: Rename perf_tool::bpf_event to bpf 2019-08-26 19:39:11 -03:00
top.c libperf: Add perf_evlist__first()/last() functions 2019-09-25 09:51:48 -03:00
top.h perf auxtrace: Uninline functions that touch perf_session 2019-08-31 22:24:10 -03:00
trace-event-info.c libperf: Move 'page_size' global variable to libperf 2019-09-25 09:51:48 -03:00
trace-event-parse.c libtraceevent, perf tools: Changes in tep_print_event_* APIs 2019-08-31 22:19:28 -03:00
trace-event-read.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
trace-event-scripting.c perf tools: Remove perf.h from source files not needing it 2019-08-29 17:38:32 -03:00
trace-event.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
trace-event.h perf tools: Remove needless libtraceevent include directives 2019-08-29 17:38:32 -03:00
trigger.h perf tools: Remove debug.h from header files not needing it 2019-08-29 17:38:32 -03:00
tsc.c
tsc.h perf tools: Move event synthesizing routines to separate header 2019-09-20 09:19:22 -03:00
units.c
units.h
unwind-libdw.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
unwind-libdw.h
unwind-libunwind-local.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
unwind-libunwind.c perf dsos: Move the dsos struct and its methods to separate source files 2019-08-31 22:24:10 -03:00
unwind.h perf unwind: Fix libunwind when tid != pid 2019-08-16 12:25:57 -03:00
usage.c perf tools: Remove debug.h from places where it is not needed 2019-09-20 09:19:20 -03:00
util.c perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
util.h perf copyfile: Move copyfile routines to separate files 2019-09-25 09:51:49 -03:00
values.c perf debug: Remove needless include directives from debug.h 2019-08-31 19:10:19 -03:00
values.h
vdso.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
vdso.h
xyarray.c tools lib: Adopt zalloc()/zfree() from tools/perf 2019-07-09 10:13:26 -03:00
zlib.c perf tools: Remove util.h from where it is not needed 2019-09-20 09:19:20 -03:00
zstd.c perf session: Fix loading of compressed data split across adjacent records 2019-07-23 09:04:03 -03:00