2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 15:13:55 +08:00
linux-next/tools/perf/util
Adrian Hunter 3c0cd952cf perf thread-stack: Hide x86 retpolines
x86 retpoline functions pollute the call graph by showing up everywhere
there is an indirect branch, but they do not really mean anything. Make
changes so that the default retpoline functions will no longer appear in
the call graph. Note this only affects the call graph, since all the
original branches are left unchanged.

This does not handle function return thunks, nor is there any
improvement for the handling of inline thunks or extern thunks.

Example:

  $ cat simple-retpoline.c
  __attribute__((noinline)) int bar(void)
  {
          return -1;
  }

  int foo(void)
  {
          return bar() + 1;
  }

  __attribute__((indirect_branch("thunk"))) int main()
  {
          int (*volatile fn)(void) = foo;

          fn();
          return fn();
  }
  $ gcc -ggdb3 -Wall -Wextra -O2 -o simple-retpoline simple-retpoline.c
  $ objdump -d simple-retpoline
  <SNIP>
  0000000000001040 <main>:
      1040:       48 83 ec 18             sub    $0x18,%rsp
      1044:       48 8d 05 25 01 00 00    lea    0x125(%rip),%rax        # 1170 <foo>
      104b:       48 89 44 24 08          mov    %rax,0x8(%rsp)
      1050:       48 8b 44 24 08          mov    0x8(%rsp),%rax
      1055:       e8 1f 01 00 00          callq  1179 <__x86_indirect_thunk_rax>
      105a:       48 8b 44 24 08          mov    0x8(%rsp),%rax
      105f:       48 83 c4 18             add    $0x18,%rsp
      1063:       e9 11 01 00 00          jmpq   1179 <__x86_indirect_thunk_rax>
  <SNIP>
  0000000000001160 <bar>:
      1160:       b8 ff ff ff ff          mov    $0xffffffff,%eax
      1165:       c3                      retq
  <SNIP>
  0000000000001170 <foo>:
      1170:       e8 eb ff ff ff          callq  1160 <bar>
      1175:       83 c0 01                add    $0x1,%eax
      1178:       c3                      retq
  0000000000001179 <__x86_indirect_thunk_rax>:
      1179:       e8 07 00 00 00          callq  1185 <__x86_indirect_thunk_rax+0xc>
      117e:       f3 90                   pause
      1180:       0f ae e8                lfence
      1183:       eb f9                   jmp    117e <__x86_indirect_thunk_rax+0x5>
      1185:       48 89 04 24             mov    %rax,(%rsp)
      1189:       c3                      retq
  <SNIP>
  $ perf record -o simple-retpoline.perf.data -e intel_pt/cyc/u ./simple-retpoline
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 0,017 MB simple-retpoline.perf.data ]
  $ perf script -i simple-retpoline.perf.data --itrace=be -s ~/libexec/perf-core/scripts/python/export-to-sqlite.py simple-retpoline.db branches calls
  2019-01-08 14:03:37.851655 Creating database...
  2019-01-08 14:03:37.863256 Writing records...
  2019-01-08 14:03:38.069750 Adding indexes
  2019-01-08 14:03:38.078799 Done
  $ ~/libexec/perf-core/scripts/python/exported-sql-viewer.py simple-retpoline.db

Before:

    main
        -> __x86_indirect_thunk_rax
            -> __x86_indirect_thunk_rax
                -> foo
                    -> bar

After:

    main
        -> foo
            -> bar

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: http://lkml.kernel.org/r/20190109091835.5570-7-adrian.hunter@intel.com
[ Remove (sym->name != NULL) test, this is not a pointer and breaks the build with clang version 7.0.1 (Fedora 7.0.1-2.fc30) ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-02-22 16:49:49 -03:00
..
c++ perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
cs-etm-decoder perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
include Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
intel-pt-decoder perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
libunwind License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
scripting-engines perf tools: Rename build libperf to perf 2019-02-14 15:18:08 -03:00
annotate.c perf annotate: Fix getting source line failure 2019-02-21 17:00:35 -03:00
annotate.h perf annotate: Remove lots of headers from annotate.h 2019-01-25 15:12:08 +01:00
arm-spe-pkt-decoder.c perf tools: Add ARM Statistical Profiling Extensions (SPE) support 2018-01-17 10:23:31 -03:00
arm-spe-pkt-decoder.h perf tools: Add ARM Statistical Profiling Extensions (SPE) support 2018-01-17 10:23:31 -03:00
arm-spe.c perf tools: Add ARM Statistical Profiling Extensions (SPE) support 2018-01-17 10:23:31 -03:00
arm-spe.h perf tools: Add ARM Statistical Profiling Extensions (SPE) support 2018-01-17 10:23:31 -03:00
auxtrace.c perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
auxtrace.h perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -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 bpf-event: Add missing new line into pr_debug call 2019-02-20 16:23:07 -03:00
bpf-event.h perf tools: Synthesize PERF_RECORD_* for loaded BPF programs 2019-01-21 17:36:39 -03:00
bpf-loader.c perf bpf-loader: Remove unecessary includes from bpf-loader.h 2019-02-06 10:00:39 -03:00
bpf-loader.h perf bpf-loader: Remove unecessary includes from bpf-loader.h 2019-02-06 10:00:39 -03:00
bpf-prologue.c docs: Fix some broken references 2018-06-15 18:10:01 -03:00
bpf-prologue.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
branch.c perf util: Create branch.c/.h for common branch functions 2017-07-18 23:14:40 -03:00
branch.h perf tools: Move branch structs to branch.h 2019-01-25 15:12:08 +01:00
Build perf bpf: Add bpf_map dumper 2019-02-19 16:11:56 -03:00
build-id.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
build-id.h perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
cache.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
call-path.c perf tools: Refactor code to move call path handling out of thread-stack 2016-05-06 13:00:43 -03:00
call-path.h perf tools: Refactor code to move call path handling out of thread-stack 2016-05-06 13:00:43 -03:00
callchain.c perf hist: Remove symbol.h from hist.h, just fwd decls are needed 2019-02-06 10:00:38 -03:00
callchain.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
cgroup.c perf cgroup: Make evlist__find_cgroup() more compact 2018-06-04 10:28:50 -03:00
cgroup.h perf cgroup: Make the cgroup name be const char * 2018-03-07 10:22:26 -03:00
cloexec.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cloexec.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
color_config.c perf utils: Move perf_config using routines from color.c to separate object 2019-01-21 17:38:56 -03:00
color.c perf utils: Move perf_config using routines from color.c to separate object 2019-01-21 17:38:56 -03:00
color.h perf color: Add missing stdarg.g to color.h 2019-01-25 15:12:08 +01:00
comm.c perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
comm.h perf comm: Remove needless headers from comm.h 2019-01-25 15:12:09 +01:00
compress.h perf tools: Add is_compressed callback to compressions array 2018-08-20 08:54:59 -03:00
config.c perf tools: Add missing include <callchain.h> in various places 2019-02-06 10:00:38 -03:00
config.h perf config: Call perf_config__init() lazily 2018-05-16 16:11:09 -03:00
counts.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
counts.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01: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 cpumap: Increase debug level for cpu_map__snprint verbose output 2019-02-20 17:08:39 -03:00
cpumap.h perf record: Apply affinity masks when reading mmap buffers 2019-02-06 10:00:39 -03:00
cputopo.c perf tools: Use sysfs__mountpoint() when reading cpu topology 2019-02-19 12:21:10 -03:00
cputopo.h perf tools: Add numa_topology object 2019-02-19 12:21:06 -03:00
cs-etm.c perf cs-etm: Modularize auxtrace_buffer fetch function 2019-02-14 15:18:08 -03:00
cs-etm.h perf cs-etm: Introducing function cs_etm__init_trace_params() 2019-02-14 15:18:06 -03:00
ctype.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
data-convert-bt.c tools lib traceevent, perf tools: Rename enum format_flags to enum tep_format_flags 2018-09-19 17:14:13 -03:00
data-convert-bt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
data-convert.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
data.c perf tools: Move conditional O_CLOEXEC to util.h 2018-01-23 09:48:20 -03:00
data.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
db-export.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
db-export.h perf script: Add call path id to exported sample in db export 2016-05-06 13:00:53 -03:00
debug.c perf debug: Avoid setting 'quiet' to 'true' unnecessarily 2018-03-16 16:39:02 -03:00
debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-java.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-java.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-rust.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
demangle-rust.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dso.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
dso.h perf symbols: Use cached rbtrees 2019-01-25 15:12:10 +01: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 config: Rename to HAVE_DWARF_GETLOCATIONS_SUPPORT 2018-04-02 13:50:24 -03:00
dwarf-aux.h perf probe: Match linkage name with mangled name 2016-09-29 11:17:08 -03:00
dwarf-regs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
env.c perf env: Also consider env->arch == NULL as local operation 2018-12-17 14:54:02 -03:00
env.h perf record: Encode -k clockid frequency into Perf trace 2018-10-18 11:16:38 -03:00
event.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
event.h perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
evlist.c perf record: Allocate affinity masks 2019-02-06 10:00:39 -03:00
evlist.h perf record: Allocate affinity masks 2019-02-06 10:00:39 -03:00
evsel_fprintf.c perf tools: Support 'srccode' output 2018-12-17 14:57:07 -03:00
evsel.c perf evsel: Force sample_type for slave events 2019-02-20 16:08:59 -03:00
evsel.h perf evsel: No need to include symbol.h in evsel.h, symbol_conf.h is enough 2019-02-06 10:00:38 -03:00
expr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
expr.y perf tools: Dedup events in expression parsing 2017-08-22 12:19:08 -03:00
find-map.c perf tools: Make find_vdso_map() more modular 2019-01-08 13:28:13 -03:00
genelf_debug.c tools: Adopt __packed from kernel sources 2017-06-19 15:27:07 -03:00
genelf.c perf tools: Fix spelling mistake: "builid" -> "buildid" 2018-04-30 12:02:03 -03:00
genelf.h perf jitdump: Add Sparc support. 2018-10-18 11:16:38 -03:00
generate-cmdlist.sh perf tools: Rename HAVE_SYSCALL_TABLE to HAVE_SYSCALL_TABLE_SUPPORT 2018-04-12 10:33:31 -03:00
get_current_dir_name.c tools build feature: Check if get_current_dir_name() is available 2018-11-19 12:12:17 -08:00
group.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
header.c perf tools: Add numa_topology object 2019-02-19 12:21:06 -03:00
header.h perf record: Encode -k clockid frequency into Perf trace 2018-10-18 11:16:38 -03:00
help-unknown-cmd.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
help-unknown-cmd.h perf tools: Move help_unknown_cmd() to its own file 2015-12-14 12:30:37 -03:00
hist.c perf evsel: Add output_resort_cb method 2019-02-06 10:00:40 -03:00
hist.h perf evsel: Add output_resort_cb method 2019-02-06 10:00:40 -03:00
intel-bts.c perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
intel-bts.h perf tools: Add Intel BTS support 2015-08-21 11:34:10 -03:00
intel-pt.c perf auxtrace: Add timestamp to auxtrace errors 2019-02-06 11:20:32 -03:00
intel-pt.h perf intel-pt: Record address filter in AUXTRACE_INFO event 2016-09-29 11:17:05 -03:00
intlist.c
intlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
jit.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
jitdump.c perf symbols: Remove some unnecessary includes from symbol.h 2019-01-25 15:12:09 +01:00
jitdump.h perf jit: Add unwinding support 2016-10-24 11:07:39 -03:00
kvm-stat.h perf kvm stat: Replace kvm-stat.h includes with forward declarations 2019-02-06 10:00:39 -03:00
levenshtein.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
levenshtein.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
llvm-utils.c perf bpf: Give precedence to bpf header dir 2018-08-30 15:52:20 -03:00
llvm-utils.h perf llvm: Allow passing options to llc in addition to clang 2018-08-20 08:54:58 -03:00
lzma.c perf tools: Add lzma_is_compressed function 2018-08-20 08:54:59 -03:00
machine.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
machine.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map_groups.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map_symbol.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
map.c perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
map.h perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
mem2node.c perf tools: Add mem2node object 2018-03-16 13:52:37 -03:00
mem2node.h perf tools: Add mem2node object 2018-03-16 13:52:37 -03:00
mem-events.c perf mem/c2c: Fix perf_mem_events to support powerpc 2019-02-04 11:32:14 -03:00
mem-events.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memswap.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
memswap.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
metricgroup.c perf list: Display metric expressions for --details option 2019-02-14 15:18:09 -03:00
metricgroup.h perf list: Display metric expressions for --details option 2019-02-14 15:18:09 -03:00
mmap.c perf record: Apply affinity masks when reading mmap buffers 2019-02-06 10:00:39 -03:00
mmap.h perf record: Allocate affinity masks 2019-02-06 10:00:39 -03:00
namespaces.c perf tools: Restore proper cwd on return from mnt namespace 2018-11-19 12:12:26 -08:00
namespaces.h perf tools: Restore proper cwd on return from mnt namespace 2018-11-19 12:12:26 -08:00
ordered-events.c perf ordered_events: Fix crash in ordered_events__free 2019-01-17 11:07:00 -03:00
ordered-events.h perf ordered_events: Add first_time() method 2018-12-17 15:02:17 -03:00
parse-branch-options.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parse-branch-options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parse-events.c perf list: Display metric expressions for --details option 2019-02-14 15:18:09 -03:00
parse-events.h perf evsel: Introduce per event max_events property 2018-10-19 16:31:09 -03:00
parse-events.l perf evsel: Introduce per event max_events property 2018-10-19 16:31:09 -03:00
parse-events.y perf tools: Fix legacy events symbol separator parsing 2019-02-14 15:18:08 -03:00
parse-regs-options.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
parse-regs-options.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
path.c perf utils: Move is_directory() to path.h 2017-12-27 12:15:48 -03:00
path.h perf utils: Move is_directory() to path.h 2017-12-27 12:15:48 -03:00
perf_regs.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf_regs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf-hooks-list.h perf tools: Introduce perf hooks 2016-11-29 12:13:27 -03:00
perf-hooks.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
perf-hooks.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
PERF-VERSION-GEN License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pmu.c perf pmu: Move EVENT_SOURCE_DEVICE_PATH to PMU header file 2019-02-06 10:00:39 -03:00
pmu.h perf pmu: Remove set_drv_config API 2019-02-06 10:00:39 -03:00
pmu.l
pmu.y
print_binary.c Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
print_binary.h Merge branch 'linus' into perf/core, to fix conflicts 2017-11-07 10:30:18 +01:00
probe-event.c perf map: Move structs and prototypes for map groups to a separate header 2019-02-06 10:00:38 -03:00
probe-event.h perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
probe-file.c perf namespaces: Remove namespaces.h from .h headers 2019-01-25 15:12:09 +01:00
probe-file.h perf probe: Support SDT markers having reference counter (semaphore) 2018-09-24 04:44:54 -04:00
probe-finder.c perf probe: Use right type to access array elements 2018-03-19 13:51:53 -03:00
probe-finder.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pstack.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pstack.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
python-ext-sources perf evsel: Fix swap for samples with raw data 2017-12-27 12:15:56 -03:00
python.c perf python: Do not force closing original perf descriptor in evlist.get_pollfd() 2018-12-28 16:33:02 -03:00
rb_resort.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.c perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
rblist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
record.c perf record: Fix crash in pipe mode 2018-03-05 11:52:41 -03:00
rwsem.c perf tools: Provide mutex wrappers for pthreads rwlocks 2017-09-21 13:28:06 -03:00
rwsem.h perf tools: Provide mutex wrappers for pthreads rwlocks 2017-09-21 13:28:06 -03:00
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 report: Add s390 diagnosic sampling descriptor size 2019-02-14 13:31:08 -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 report: Display names in s390 diagnostic counter sets 2019-01-21 17:00:56 -03:00
sample-raw.c perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
sample-raw.h perf report: Display arch specific diagnostic counter sets, starting with s390 2019-01-21 17:00:48 -03:00
sane_ctype.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
session.c perf session: Don't report zero period samples for slave events 2019-02-20 16:07:51 -03:00
session.h perf tools: Remove perf_tool from event_op2 2018-09-19 10:25:10 -03:00
setns.c tools build: Add test for setns() 2017-07-18 23:14:08 -03:00
setup.py perf record: Bind the AIO user space buffers to nodes 2019-02-06 10:00:39 -03:00
smt.c perf tools: Add utility function to detect SMT status 2017-08-22 12:09:04 -03:00
smt.h perf tools: Add utility function to detect SMT status 2017-08-22 12:09:04 -03:00
sort.c perf report: Don't shadow inlined symbol with different addr range 2019-02-19 12:30:12 -03:00
sort.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
srccode.c perf tools: Support 'srccode' output 2018-12-17 14:57:07 -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 perf report: Don't shadow inlined symbol with different addr range 2019-02-19 12:30:12 -03:00
srcline.h perf callchain: Use cached rbtrees 2019-01-25 15:12:09 +01:00
stat-display.c perf annotate: Remove lots of headers from annotate.h 2019-01-25 15:12:08 +01:00
stat-shadow.c perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
stat.c perf tools: Remove perf_tool from event_op2 2018-09-19 10:25:10 -03:00
stat.h perf tools: Remove perf_tool from event_op2 2018-09-19 10:25:10 -03:00
strbuf.c perf strbuf: Remove redundant va_end() in strbuf_addv() 2019-01-04 12:54:49 -03:00
strbuf.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
strfilter.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
strfilter.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
string2.h perf string: Add {strdup,strpbrk}_esc() 2017-12-27 12:15:55 -03:00
string.c perf string: Add {strdup,strpbrk}_esc() 2017-12-27 12:15:55 -03:00
strlist.c perf tools: Remove string.h, unistd.h and sys/stat.h from util.h 2017-04-24 13:43:33 -03:00
strlist.h perf util: Use cached rbtree for rblists 2019-01-25 15:12:10 +01:00
svghelper.c perf svghelper: Fix unchecked usage of strncpy() 2018-12-17 14:59:20 -03:00
svghelper.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
symbol_conf.h perf symbols: Move symbol_conf to separate file 2019-01-25 15:12:08 +01:00
symbol_fprintf.c perf symbols: Use cached rbtrees 2019-01-25 15:12:10 +01:00
symbol-elf.c perf/core improvements and fixes: 2019-02-09 13:16:01 +01:00
symbol-minimal.c perf symbols: Remove some unnecessary includes from symbol.h 2019-01-25 15:12:09 +01:00
symbol.c perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols 2019-02-06 10:00:40 -03:00
symbol.h perf symbols: Introduce map_symbol.h 2019-02-06 10:00:38 -03:00
syscalltbl.c perf trace arm64: Use generated syscall table 2018-07-24 14:53:01 -03:00
syscalltbl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
target.c perf target: str_error_r() always returns the buffer it receives 2016-07-29 11:54:35 -03:00
target.h perf stat: Remove --per-thread pid/tid limitation 2017-12-27 12:15:47 -03:00
term.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
term.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
thread_map.c perf stat: Ignore error thread when enabling system-wide --per-thread 2018-02-27 11:29:21 -03:00
thread_map.h perf stat: Ignore error thread when enabling system-wide --per-thread 2018-02-27 11:29:21 -03:00
thread-stack.c perf thread-stack: Hide x86 retpolines 2019-02-22 16:49:49 -03:00
thread-stack.h perf thread-stack: Represent jmps to the start of a different symbol 2019-02-06 10:00:40 -03:00
thread.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
thread.h perf thread: Don't include symbol.h, symbol_conf.h is enough 2019-02-06 10:00:38 -03:00
time-utils.c perf util: Allocate time slices buffer according to number of comma 2018-01-17 10:23:36 -03:00
time-utils.h perf util: Allocate time slices buffer according to number of comma 2018-01-17 10:23:36 -03:00
tool.h perf tools: Handle PERF_RECORD_BPF_EVENT 2019-01-21 17:00:57 -03:00
top.c perf top: Move perf_top__reset_sample_counters() to after counts display 2018-12-17 14:58:47 -03:00
top.h perf top: Save and display the drop count stats 2018-12-17 14:58:33 -03:00
trace-event-info.c perf tools: Cleanup trace-event-info 'tdata' leak 2018-10-08 14:23:45 -03:00
trace-event-parse.c tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trace-event-read.c perf tools: traceevent API cleanup, remove __tep_data2host*() 2018-12-17 14:56:08 -03:00
trace-event-scripting.c tools lib traceevent, perf tools: Rename struct pevent to struct tep_handle 2018-08-10 15:29:35 -03:00
trace-event.c tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trace-event.h tools lib traceevent, perf tools: Rename 'struct tep_event_format' to 'struct tep_event' 2018-12-17 14:56:02 -03:00
trigger.h perf tools: Fix trigger class trigger_on() 2018-03-06 11:31:14 -03:00
tsc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
tsc.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
units.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
units.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind-libdw.c perf tools: Add missing include for symbols.h 2019-02-06 10:00:38 -03:00
unwind-libdw.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unwind-libunwind-local.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
unwind-libunwind.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
unwind.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
usage.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
util-cxx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
util.c perf tools: Make rm_rf() remove single file 2019-02-20 17:09:28 -03:00
util.h tools build feature: Check if get_current_dir_name() is available 2018-11-19 12:12:17 -08:00
values.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
values.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
vdso.c pref tools: Add missing map.h includes 2019-02-06 10:00:38 -03:00
vdso.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xyarray.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xyarray.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
zlib.c perf tools: Remove duplicate headers 2019-01-21 15:15:57 -03:00