diff options
author | Stephane Eranian <eranian@google.com> | 2013-01-24 10:10:35 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2013-04-01 11:20:13 -0400 |
commit | 98a3b32c99ada4bca8aaf4f91efd96fc906dd5c4 (patch) | |
tree | f10d745caaecb65307a4aa71205a0c5836b186db /tools/perf/util/hist.h | |
parent | 05484298cbfebbf8c8c55b000541a245bc286bec (diff) |
perf tools: Add mem access sampling core support
This patch adds the sorting and histogram support
functions to enable profiling of memory accesses.
The following sorting orders are added:
- symbol_daddr: data address symbol (or raw address)
- dso_daddr: data address shared object
- locked: access uses locked transaction
- tlb : TLB access
- mem : memory level of the access (L1, L2, L3, RAM, ...)
- snoop: access snoop mode
Signed-off-by: Stephane Eranian <eranian@google.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung.kim@lge.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1359040242-8269-12-git-send-email-eranian@google.com
[ committer note: changed to cope with fc5871ed, the move of methods to
machine.[ch], and the rename of dsrc to data_src, to match the change
made in the PERF_SAMPLE_DSRC in a previous patch. ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/hist.h')
-rw-r--r-- | tools/perf/util/hist.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/perf/util/hist.h b/tools/perf/util/hist.h index 121cc14b6041..fd6313416476 100644 --- a/tools/perf/util/hist.h +++ b/tools/perf/util/hist.h | |||
@@ -51,6 +51,12 @@ enum hist_column { | |||
51 | HISTC_SRCLINE, | 51 | HISTC_SRCLINE, |
52 | HISTC_LOCAL_WEIGHT, | 52 | HISTC_LOCAL_WEIGHT, |
53 | HISTC_GLOBAL_WEIGHT, | 53 | HISTC_GLOBAL_WEIGHT, |
54 | HISTC_MEM_DADDR_SYMBOL, | ||
55 | HISTC_MEM_DADDR_DSO, | ||
56 | HISTC_MEM_LOCKED, | ||
57 | HISTC_MEM_TLB, | ||
58 | HISTC_MEM_LVL, | ||
59 | HISTC_MEM_SNOOP, | ||
54 | HISTC_NR_COLS, /* Last entry */ | 60 | HISTC_NR_COLS, /* Last entry */ |
55 | }; | 61 | }; |
56 | 62 | ||
@@ -90,6 +96,13 @@ struct hist_entry *__hists__add_branch_entry(struct hists *self, | |||
90 | u64 period, | 96 | u64 period, |
91 | u64 weight); | 97 | u64 weight); |
92 | 98 | ||
99 | struct hist_entry *__hists__add_mem_entry(struct hists *self, | ||
100 | struct addr_location *al, | ||
101 | struct symbol *sym_parent, | ||
102 | struct mem_info *mi, | ||
103 | u64 period, | ||
104 | u64 weight); | ||
105 | |||
93 | void hists__output_resort(struct hists *self); | 106 | void hists__output_resort(struct hists *self); |
94 | void hists__output_resort_threaded(struct hists *hists); | 107 | void hists__output_resort_threaded(struct hists *hists); |
95 | void hists__collapse_resort(struct hists *self); | 108 | void hists__collapse_resort(struct hists *self); |