linux/tools/perf/util
Andi Kleen d4957633bf perf report: Add infrastructure for a cycles histogram
This adds the basic infrastructure to keep track of cycle counts per
basic block for annotate. We allocate an array similar to the normal
accounting, and then account branch cycles there.

We handle two cases:

cycles per basic block with start and cycles per branch (these are later
used for either IPC or just cycles per BB)

In the start case we cannot handle overlaps, so always the longest basic
block wins.

For the cycles per branch case everything is accurately accounted.

v2: Remove unnecessary checks. Slight restructure. Move
symbol__get_annotation to another patch. Move histogram allocation.
v3: Merged with current tree

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1437233094-12844-4-git-send-email-andi@firstfloor.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2015-08-06 16:32:45 -03:00
..
include tools: Copy rbtree_augmented.h from the kernel 2015-07-05 22:59:05 -03:00
scripting-engines tracing: Rename FTRACE_MAX_EVENT to TRACE_EVENT_TYPE_MAX 2015-05-13 14:06:42 -04:00
abspath.c
alias.c
annotate.c perf report: Add infrastructure for a cycles histogram 2015-08-06 16:32:45 -03:00
annotate.h perf report: Add infrastructure for a cycles histogram 2015-08-06 16:32:45 -03:00
auxtrace.c perf auxtrace: Fix misplaced check for HAVE_SYNC_COMPARE_AND_SWAP_SUPPORT 2015-07-15 11:57:28 -03:00
auxtrace.h perf tools: Allow auxtrace data alignment 2015-06-23 18:28:37 -03:00
bitmap.c
Build perf/core improvements and fixes: 2015-07-21 07:58:06 +02:00
build-id.c perf buildid: Use SBUILD_ID_SIZE macro 2015-07-20 17:49:50 -03:00
build-id.h perf buildid: Use SBUILD_ID_SIZE macro 2015-07-20 17:49:50 -03:00
cache.h perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
callchain.c perf tools: Refine parse/config callchain functions 2015-08-05 16:42:11 -03:00
callchain.h perf tools: Refine parse/config callchain functions 2015-08-05 16:42:11 -03:00
cgroup.c perf cgroup: Use atomic.h for refcounting 2015-05-15 16:12:20 -03:00
cgroup.h perf cgroup: Use atomic.h for refcounting 2015-05-15 16:12:20 -03:00
cloexec.c perf bench numa: Fix to show proper convergence stats 2015-06-25 12:28:35 -03:00
cloexec.h perf tools: Fix build errors with mipsel-linux-uclibc compiler 2015-08-05 16:56:16 -03:00
color.c perf tools: Do not include escape sequences in color_vfprintf return 2015-08-05 16:46:06 -03:00
color.h perf tools: Remove trail argument to color vsprintf 2015-08-05 16:44:02 -03:00
comm.c perf comm: Use atomic.h for refcounting 2015-05-27 12:21:43 -03:00
comm.h perf tools: Add facility to export data in database-friendly way 2014-10-29 10:32:49 -02:00
config.c perf tools: Add --buildid-dir option to set cache directory 2014-12-09 09:14:35 -03:00
cpumap.c perf tools: Add reference counting for cpu_map object 2015-06-25 15:15:50 -03:00
cpumap.h perf tools: Add reference counting for cpu_map object 2015-06-25 15:15:50 -03:00
ctype.c
data-convert-bt.c perf data: Fix signedness of value 2015-04-29 10:37:49 -03:00
data-convert-bt.h perf data: Support using -f to override perf.data file ownership for 'convert' 2015-04-02 13:18:52 -03:00
data.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
data.h
db-export.c perf db-export: Fix thread ref-counting 2015-05-29 12:43:39 -03:00
db-export.h perf db-export: No need to have ->thread twice in struct export_sample 2015-04-02 13:18:43 -03:00
debug.c perf tools: Introduce veprintf 2015-08-06 15:30:38 -03:00
debug.h perf tools: Introduce veprintf 2015-08-06 15:30:38 -03:00
dso.c perf tools: Reference count struct dso 2015-06-08 10:31:40 -03:00
dso.h perf symbols: Add front end cache for DSO symbol lookup 2015-07-23 11:28:35 -03:00
dwarf-aux.c perf tools: Fix dwarf-aux.c compilation on i386 2015-05-15 16:59:43 -03:00
dwarf-aux.h perf probe: Ignore tail calls to probed functions 2015-05-14 10:05:09 -03:00
environment.c perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
event.c perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
event.h perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
evlist.c perf report: Add flag for non ANY branch mode 2015-08-06 16:31:39 -03:00
evlist.h perf report: Add flag for non ANY branch mode 2015-08-06 16:31:39 -03:00
evsel.c perf tools: Refine parse/config callchain functions 2015-08-05 16:42:11 -03:00
evsel.h perf tools: Per-event time support 2015-08-05 12:50:52 -03:00
exec_cmd.c
exec_cmd.h
find-vdso-map.c perf tools: Build programs to copy 32-bit compatibility 2014-10-29 10:32:48 -02:00
generate-cmdlist.sh
header.c perf header: Use argv style storage for cmdline feature data 2015-07-21 14:34:08 -03:00
header.h perf header: Use argv style storage for cmdline feature data 2015-07-21 14:34:08 -03:00
help.c
help.h
hist.c perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
hist.h perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
intlist.c
intlist.h
kvm-stat.h perf kvm: Support using -f to override perf.data.guest file ownership 2015-04-02 13:18:47 -03:00
levenshtein.c
levenshtein.h
lzma.c perf tools: Add lzma decompression support for kernel module 2015-03-21 14:53:40 -03:00
machine.c perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
machine.h perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
map.c perf symbols: Introduce map__is_(kernel,kmodule)() 2015-07-23 11:28:36 -03:00
map.h perf symbols: Introduce map__is_(kernel,kmodule)() 2015-07-23 11:28:36 -03:00
ordered-events.c perf ordered_samples: Remove references to perf_{evlist,tool} and machines 2015-03-31 17:52:32 -03:00
ordered-events.h perf ordered_samples: Remove references to perf_{evlist,tool} and machines 2015-03-31 17:52:32 -03:00
pager.c perf report: Fix some option handling on --stdio 2015-05-14 10:05:22 -03:00
parse-branch-options.c perf record: Add support for sampling indirect jumps 2015-06-07 16:08:31 +02:00
parse-branch-options.h perf tools: Move branch option parsing to own file 2015-05-27 21:02:17 -03:00
parse-events.c perf tools: Per-event time support 2015-08-05 12:50:52 -03:00
parse-events.h perf tools: Per-event time support 2015-08-05 12:50:52 -03:00
parse-events.l perf tools: Per-event time support 2015-08-05 12:50:52 -03:00
parse-events.y perf tools: Fix parse_events_error dereferences 2015-05-27 12:21:43 -03:00
parse-options.c perf report: Don't allow empty argument for '-t'. 2015-03-19 13:53:28 -03:00
parse-options.h perf record: Add AUX area tracing Snapshot Mode support 2015-05-05 18:13:01 -03:00
path.c
perf_regs.c
perf_regs.h
PERF-VERSION-GEN
pmu.c perf tools: Per-event time support 2015-08-05 12:50:52 -03:00
pmu.h perf tools: Add term support for parse_events_error 2015-04-29 10:38:01 -03:00
pmu.l
pmu.y
probe-event.c perf probe: Move ftrace probe-event operations to probe-file.c 2015-07-20 17:49:49 -03:00
probe-event.h perf tools: Add missing forward declaration of struct map to probe-event.h 2015-08-06 15:38:40 -03:00
probe-file.c perf probe: Move ftrace probe-event operations to probe-file.c 2015-07-20 17:49:49 -03:00
probe-file.h perf probe: Move ftrace probe-event operations to probe-file.c 2015-07-20 17:49:49 -03:00
probe-finder.c perf strlist: Make dupstr be the default and part of an extensible config parm 2015-07-20 12:13:34 -03:00
probe-finder.h perf probe: Introduce probe_conf global configs 2015-05-08 16:26:26 -03:00
pstack.c perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
pstack.h perf tools: Introduce pstack_peek() 2015-05-05 18:13:22 -03:00
python-ext-sources tools: Copy lib/hweight.c from the kernel sources 2015-07-09 16:29:56 -03:00
python.c perf python: Add missing PERF_RECORD_{MMAP2,AUX,etc} 2015-07-29 10:51:45 -03:00
quote.c
quote.h
rblist.c
rblist.h
record.c perf record: Add option --switch-events to select PERF_RECORD_SWITCH events 2015-07-23 22:51:13 -03:00
run-command.c perf util: Replace strerror with strerror_r for thread-safety 2014-08-15 10:58:35 -03:00
run-command.h
session.c perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
session.h perf tools: Add AUX area tracing index 2015-05-04 19:48:47 -03:00
setup.py tools lib api: Rename libapikfs.a to libapi.a 2015-02-12 17:55:18 -03:00
sigchain.c
sigchain.h
sort.c perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
sort.h perf tools: Add support for cycles, weight branch_info field 2015-08-06 16:29:45 -03:00
srcline.c perf: Fix building warning on ARM 32 2014-12-19 13:09:43 +01:00
stat-shadow.c perf stat: Fix transaction lenght metrics 2015-07-28 12:05:04 -03:00
stat.c perf stat: Move counter processing code into stat object 2015-08-06 16:08:16 -03:00
stat.h perf stat: Move counter processing code into stat object 2015-08-06 16:08:16 -03:00
strbuf.c
strbuf.h
strfilter.c perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
strfilter.h perf tools: Add strfilter__string to recover rules string 2015-05-04 12:43:54 -03:00
string.c perf tools: Asprintf like functions to format integer filter expression 2015-07-06 10:21:46 -03:00
strlist.c perf strlist: Make parse_list() private 2015-07-20 14:51:07 -03:00
strlist.h perf strlist: Make parse_list() private 2015-07-20 14:51:07 -03:00
svghelper.c perf tools: Add reference counting for cpu_map object 2015-06-25 15:15:50 -03:00
svghelper.h
symbol-elf.c perf symbols: Fix mismatched declarations for elf_getphdrnum 2015-07-29 10:51:45 -03:00
symbol-minimal.c perf symbols: Save DSO loading errno to better report errors 2015-03-24 12:08:43 -03:00
symbol.c perf symbols: Add front end cache for DSO symbol lookup 2015-07-23 11:28:35 -03:00
symbol.h perf symbols: Store if there is a filter in place 2015-07-13 08:21:57 -03:00
target.c perf target: Simplify handling of strerror_r return 2015-03-24 12:08:30 -03:00
target.h
thread_map.c perf/core improvements and fixes: 2015-07-21 07:58:06 +02:00
thread_map.h perf thrad_map: Add comm string into array 2015-06-26 11:07:01 -03:00
thread-stack.c perf tools: Ensure thread-stack is flushed 2015-06-19 16:03:33 -03:00
thread-stack.h perf tools: Ensure thread-stack is flushed 2015-06-19 16:03:33 -03:00
thread.c perf tools: Remove redundant initialization of thread linkage members 2015-05-27 12:21:44 -03:00
thread.h perf tools: Elliminate alignment holes 2015-05-18 10:17:33 -03:00
tool.h perf tools: Add new PERF_RECORD_SWITCH event 2015-07-23 22:51:13 -03:00
top.c
top.h
trace-event-info.c perf tools: Stop copying kallsyms into the perf.data file header 2015-07-23 22:51:12 -03:00
trace-event-parse.c perf tools: Stop reading the kallsyms data from perf.data 2015-07-23 22:51:11 -03:00
trace-event-read.c perf tools: Stop reading the kallsyms data from perf.data 2015-07-23 22:51:11 -03:00
trace-event-scripting.c perf scripting: No need to pass thread twice to the scripting callbacks 2015-04-02 13:18:41 -03:00
trace-event.c perf python: Remove dependency on 'machine' methods 2015-07-29 10:51:44 -03:00
trace-event.h perf python: Remove dependency on 'machine' methods 2015-07-29 10:51:44 -03:00
tsc.c perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
tsc.h perf tools: Move rdtsc() function 2014-07-23 11:48:11 -03:00
unwind-libdw.c perf callchains: Use thread->mg->machine 2014-10-29 10:32:46 -02:00
unwind-libdw.h
unwind-libunwind.c perf unwind: Fix a compile error 2015-06-16 10:40:03 -03:00
unwind.h perf callchains: Use thread->mg->machine 2014-10-29 10:32:46 -02:00
usage.c
util.c perf tools: Avoid possible race condition in copyfile() 2015-06-10 11:51:24 -03:00
util.h perf tools: Asprintf like functions to format integer filter expression 2015-07-06 10:21:46 -03:00
values.c
values.h
vdso.c perf tools: Fix lockup using 32-bit compat vdso 2015-07-07 11:05:08 -03:00
vdso.h perf machine: Fix up vdso methods names 2015-05-29 12:43:44 -03:00
wrapper.c
xyarray.c perf tools: Introduce xyarray__reset function 2015-06-16 10:34:39 -03:00
xyarray.h perf tools: Introduce xyarray__reset function 2015-06-16 10:34:39 -03:00
zlib.c perf tools: Add gzip decompression support for kernel module 2014-11-05 10:11:26 -03:00