/tools/perf/tests/ |
D | hists_output.c | 94 struct hist_entry *he; in del_hist_entries() local 109 he = rb_entry(node, struct hist_entry, rb_node); in del_hist_entries() 111 rb_erase_cached(&he->rb_node_in, root_in); in del_hist_entries() 112 hist_entry__delete(he); in del_hist_entries() 118 #define COMM(he) (thread__comm_str(he->thread)) argument 119 #define DSO(he) (he->ms.map->dso->short_name) argument 120 #define SYM(he) (he->ms.sym->name) argument 121 #define CPU(he) (he->cpu) argument 122 #define PID(he) (he->thread->tid) argument 129 struct hist_entry *he; in test1() local [all …]
|
D | hists_common.c | 177 struct hist_entry *he; in print_hists_in() local 179 he = rb_entry(node, struct hist_entry, rb_node_in); in print_hists_in() 181 if (!he->filtered) { in print_hists_in() 183 i, thread__comm_str(he->thread), in print_hists_in() 184 he->ms.map->dso->short_name, in print_hists_in() 185 he->ms.sym->name, he->stat.period); in print_hists_in() 204 struct hist_entry *he; in print_hists_out() local 206 he = rb_entry(node, struct hist_entry, rb_node); in print_hists_out() 208 if (!he->filtered) { in print_hists_out() 210 i, thread__comm_str(he->thread), he->thread->tid, in print_hists_out() [all …]
|
D | hists_link.c | 68 struct hist_entry *he; in add_hist_entries() local 89 he = hists__add_entry(hists, &al, NULL, in add_hist_entries() 91 if (he == NULL) { in add_hist_entries() 108 he = hists__add_entry(hists, &al, NULL, in add_hist_entries() 110 if (he == NULL) { in add_hist_entries() 157 struct hist_entry *he; in __validate_match() local 159 he = rb_entry(node, struct hist_entry, rb_node_in); in __validate_match() 161 if (hist_entry__has_pairs(he)) { in __validate_match() 164 he->thread, he->ms.map, he->ms.sym)) { in __validate_match() 209 struct hist_entry *he; in __validate_link() local [all …]
|
D | hists_cumulate.c | 128 struct hist_entry *he; in del_hist_entries() local 143 he = rb_entry(node, struct hist_entry, rb_node); in del_hist_entries() 145 rb_erase_cached(&he->rb_node_in, root_in); in del_hist_entries() 146 hist_entry__delete(he); in del_hist_entries() 152 #define COMM(he) (thread__comm_str(he->thread)) argument 153 #define DSO(he) (he->ms.map->dso->short_name) argument 154 #define SYM(he) (he->ms.sym->name) argument 155 #define CPU(he) (he->cpu) argument 156 #define PID(he) (he->thread->tid) argument 157 #define DEPTH(he) (he->callchain->max_depth) argument [all …]
|
/tools/perf/util/ |
D | hist.c | 34 struct hist_entry *he); 36 struct hist_entry *he); 38 struct hist_entry *he); 40 struct hist_entry *he); 315 static void hists__delete_entry(struct hists *hists, struct hist_entry *he); 317 static bool hists__decay_entry(struct hists *hists, struct hist_entry *he) in hists__decay_entry() argument 319 u64 prev_period = he->stat.period; in hists__decay_entry() 325 he_stat__decay(&he->stat); in hists__decay_entry() 327 he_stat__decay(he->stat_acc); in hists__decay_entry() 328 decay_callchain(he->callchain); in hists__decay_entry() [all …]
|
D | sort.h | 166 static __pure inline bool hist_entry__has_callchains(struct hist_entry *he) in hist_entry__has_callchains() argument 168 return he->callchain_size != 0; in hist_entry__has_callchains() 171 int hist_entry__sym_snprintf(struct hist_entry *he, char *bf, size_t size, unsigned int width); 173 static inline bool hist_entry__has_pairs(struct hist_entry *he) in hist_entry__has_pairs() argument 175 return !list_empty(&he->pairs.node); in hist_entry__has_pairs() 178 static inline struct hist_entry *hist_entry__next_pair(struct hist_entry *he) in hist_entry__next_pair() argument 180 if (hist_entry__has_pairs(he)) in hist_entry__next_pair() 181 return list_entry(he->pairs.node.next, struct hist_entry, pairs.node); in hist_entry__next_pair() 186 struct hist_entry *he) in hist_entry__add_pair() argument 188 list_add_tail(&pair->pairs.node, &he->pairs.head); in hist_entry__add_pair() [all …]
|
D | sort.c | 103 static int hist_entry__thread_snprintf(struct hist_entry *he, char *bf, in hist_entry__thread_snprintf() argument 106 const char *comm = thread__comm_str(he->thread); in hist_entry__thread_snprintf() 109 return repsep_snprintf(bf, size, "%7d:%-*.*s", he->thread->tid, in hist_entry__thread_snprintf() 113 static int hist_entry__thread_filter(struct hist_entry *he, int type, const void *arg) in hist_entry__thread_filter() argument 120 return th && he->thread != th; in hist_entry__thread_filter() 156 static int hist_entry__comm_snprintf(struct hist_entry *he, char *bf, in hist_entry__comm_snprintf() argument 159 return repsep_snprintf(bf, size, "%-*.*s", width, width, comm__str(he->comm)); in hist_entry__comm_snprintf() 212 static int hist_entry__dso_snprintf(struct hist_entry *he, char *bf, in hist_entry__dso_snprintf() argument 215 return _hist_entry__dso_snprintf(he->ms.map, bf, size, width); in hist_entry__dso_snprintf() 218 static int hist_entry__dso_filter(struct hist_entry *he, int type, const void *arg) in hist_entry__dso_filter() argument [all …]
|
D | block-info.c | 116 int block_info__process_sym(struct hist_entry *he, struct block_hist *bh, in block_info__process_sym() argument 124 if (!he->ms.map || !he->ms.sym) in block_info__process_sym() 128 al.map = he->ms.map; in block_info__process_sym() 129 al.sym = he->ms.sym; in block_info__process_sym() 131 notes = symbol__annotation(he->ms.sym); in block_info__process_sym() 135 for (unsigned int i = 0; i < symbol__size(he->ms.sym); i++) { in block_info__process_sym() 144 init_block_info(bi, he->ms.sym, &ch[i], i, in block_info__process_sym() 197 struct hist_entry *he) in block_total_cycles_pct_entry() argument 200 struct block_info *bi = he->block_info; in block_total_cycles_pct_entry() 240 struct perf_hpp *hpp, struct hist_entry *he) in block_cycles_lbr_entry() argument [all …]
|
D | hist.h | 129 struct hist_entry *he; member 174 int hist_entry__sort_snprintf(struct hist_entry *he, char *bf, size_t size, 176 int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp, 178 void hist_entry__delete(struct hist_entry *he); 180 typedef int (*hists__resort_cb_t)(struct hist_entry *he, void *arg); 223 void hists__calc_col_len(struct hists *hists, struct hist_entry *he); 271 struct hist_entry *he); 273 struct hist_entry *he); 393 int hist_entry__filter(struct hist_entry *he, int type, const void *arg); 413 typedef u64 (*hpp_field_fn)(struct hist_entry *he); [all …]
|
D | stream.c | 99 static void update_hot_callchain(struct hist_entry *he, in update_hot_callchain() argument 102 struct rb_root *root = &he->sorted_chain; in update_hot_callchain() 118 struct hist_entry *he; in init_hot_callchain() local 120 he = rb_entry(next, struct hist_entry, rb_node); in init_hot_callchain() 121 update_hot_callchain(he, es); in init_hot_callchain() 122 next = rb_next(&he->rb_node); in init_hot_callchain()
|
D | block-info.h | 70 int block_info__process_sym(struct hist_entry *he, struct block_hist *bh, 84 float block_info__total_cycles_percent(struct hist_entry *he);
|
D | annotate.h | 131 struct sym_hist_entry he; member 348 int hist_entry__inc_addr_samples(struct hist_entry *he, struct perf_sample *sample,
|
D | callchain.c | 1098 int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *sample) in hist_entry__append_callchain() argument 1103 return callchain_append(he->callchain, &callchain_cursor, sample->period); in hist_entry__append_callchain() 1671 static u64 count_callchain_hits(struct hist_entry *he) in count_callchain_hits() argument 1673 struct rb_root *root = &he->sorted_chain; in count_callchain_hits() 1693 struct hist_entry *he = rb_entry(next, struct hist_entry, in callchain_total_hits() local 1696 chain_hits += count_callchain_hits(he); in callchain_total_hits() 1697 next = rb_next(&he->rb_node); in callchain_total_hits()
|
D | callchain.h | 253 int hist_entry__append_callchain(struct hist_entry *he, struct perf_sample *sample);
|
/tools/perf/ |
D | builtin-diff.c | 272 static double period_percent(struct hist_entry *he, u64 period) in period_percent() argument 274 u64 total = hists__total_period(he->hists); in period_percent() 279 static double compute_delta(struct hist_entry *he, struct hist_entry *pair) in compute_delta() argument 281 double old_percent = period_percent(he, he->stat.period); in compute_delta() 289 static double compute_ratio(struct hist_entry *he, struct hist_entry *pair) in compute_ratio() argument 291 double old_period = he->stat.period ?: 1; in compute_ratio() 299 static s64 compute_wdiff(struct hist_entry *he, struct hist_entry *pair) in compute_wdiff() argument 301 u64 old_period = he->stat.period; in compute_wdiff() 311 static int formula_delta(struct hist_entry *he, struct hist_entry *pair, in formula_delta() argument 314 u64 he_total = he->hists->stats.total_period; in formula_delta() [all …]
|
D | builtin-c2c.c | 79 struct hist_entry he; member 158 return &c2c_he->he; in c2c_he_zalloc() 161 static void c2c_he_free(void *he) in c2c_he_free() argument 165 c2c_he = container_of(he, struct c2c_hist_entry, he); in c2c_he_free() 188 he__get_c2c_hists(struct hist_entry *he, in he__get_c2c_hists() argument 196 c2c_he = container_of(he, struct c2c_hist_entry, he); in he__get_c2c_hists() 268 struct hist_entry *he; in process_sample_event() local 300 he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops, in process_sample_event() 303 if (he == NULL) in process_sample_event() 306 c2c_he = container_of(he, struct c2c_hist_entry, he); in process_sample_event() [all …]
|
D | builtin-annotate.c | 160 struct hist_entry *he = iter->he; in hist_iter__branch_callback() local 166 bi = he->branch_info; in hist_iter__branch_callback() 220 struct hist_entry *he; in evsel__add_sample() local 250 he = hists__add_entry(hists, al, NULL, NULL, NULL, sample, true); in evsel__add_sample() 251 if (he == NULL) in evsel__add_sample() 254 ret = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); in evsel__add_sample() 297 static int hist_entry__tty_annotate(struct hist_entry *he, in hist_entry__tty_annotate() argument 302 return symbol__tty_annotate(&he->ms, evsel, &ann->opts); in hist_entry__tty_annotate() 304 return symbol__tty_annotate2(&he->ms, evsel, &ann->opts); in hist_entry__tty_annotate() 315 struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node); in hists__find_annotations() local [all …]
|
D | builtin-top.c | 111 static int perf_top__parse_source(struct perf_top *top, struct hist_entry *he) in perf_top__parse_source() argument 119 if (!he || !he->ms.sym) in perf_top__parse_source() 122 evsel = hists_to_evsel(he->hists); in perf_top__parse_source() 124 sym = he->ms.sym; in perf_top__parse_source() 125 map = he->ms.map; in perf_top__parse_source() 149 err = symbol__annotate(&he->ms, evsel, &top->annotation_opts, NULL); in perf_top__parse_source() 151 top->sym_filter_entry = he; in perf_top__parse_source() 154 symbol__strerror_disassemble(&he->ms, err, msg, sizeof(msg)); in perf_top__parse_source() 162 static void __zero_source_counters(struct hist_entry *he) in __zero_source_counters() argument 164 struct symbol *sym = he->ms.sym; in __zero_source_counters() [all …]
|
D | builtin-report.c | 153 struct hist_entry *he = iter->he; in hist_iter__report_callback() local 163 bi = he->branch_info; in hist_iter__report_callback() 171 mi = he->mem_info; in hist_iter__report_callback() 176 err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); in hist_iter__report_callback() 180 err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); in hist_iter__report_callback() 182 err = hist_entry__inc_addr_samples(he, sample, evsel, al->addr); in hist_iter__report_callback() 194 struct hist_entry *he = iter->he; in hist_iter__branch_callback() local 196 struct branch_info *bi = he->branch_info; in hist_iter__branch_callback() 708 static int hists__resort_cb(struct hist_entry *he, void *arg) in hists__resort_cb() argument 711 struct symbol *sym = he->ms.sym; in hists__resort_cb() [all …]
|
/tools/perf/ui/stdio/ |
D | hist.c | 381 static size_t hist_entry_callchain__fprintf(struct hist_entry *he, in hist_entry_callchain__fprintf() argument 385 u64 parent_samples = he->stat.period; in hist_entry_callchain__fprintf() 388 parent_samples = he->stat_acc->period; in hist_entry_callchain__fprintf() 392 return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples, in hist_entry_callchain__fprintf() 396 return callchain__fprintf_graph(fp, &he->sorted_chain, total_samples, in hist_entry_callchain__fprintf() 400 return callchain__fprintf_flat(fp, &he->sorted_chain, total_samples); in hist_entry_callchain__fprintf() 403 return callchain__fprintf_folded(fp, &he->sorted_chain, total_samples); in hist_entry_callchain__fprintf() 414 int __hist_entry__snprintf(struct hist_entry *he, struct perf_hpp *hpp, in __hist_entry__snprintf() argument 423 if (symbol_conf.exclude_other && !he->parent) in __hist_entry__snprintf() 427 if (perf_hpp__should_skip(fmt, he->hists)) in __hist_entry__snprintf() [all …]
|
/tools/perf/ui/browsers/ |
D | hists.c | 70 struct hist_entry *he = in hist_browser__get_folding() local 73 if (he->leaf && he->unfolded) in hist_browser__get_folding() 74 unfolded_rows += he->nr_rows; in hist_browser__get_folding() 161 static char hist_entry__folded(const struct hist_entry *he) in hist_entry__folded() argument 163 return he->has_children ? tree__folded_sign(he->unfolded) : ' '; in hist_entry__folded() 272 static int hierarchy_count_rows(struct hist_browser *hb, struct hist_entry *he, in hierarchy_count_rows() argument 279 if (he->leaf) in hierarchy_count_rows() 280 return callchain__count_rows(&he->sorted_chain); in hierarchy_count_rows() 282 if (he->has_no_entry) in hierarchy_count_rows() 285 node = rb_first_cached(&he->hroot_out); in hierarchy_count_rows() [all …]
|
/tools/perf/ui/gtk/ |
D | hists.c | 44 static u64 he_get_##_field(struct hist_entry *he) \ 46 return he->stat._field; \ 51 struct hist_entry *he) \ 53 return hpp__fmt(fmt, hpp, he, he_get_##_field, " %*.2f%%", \ 58 static u64 he_get_acc_##_field(struct hist_entry *he) \ 60 return he->stat_acc->_field; \ 65 struct hist_entry *he) \ 67 return hpp__fmt_acc(fmt, hpp, he, he_get_acc_##_field, " %*.2f%%", \ 414 struct hist_entry *he; in perf_gtk__add_hierarchy_entries() local 425 he = rb_entry(node, struct hist_entry, rb_node); in perf_gtk__add_hierarchy_entries() [all …]
|
D | gtk.h | 62 int hist_entry__gtk_annotate(struct hist_entry *he,
|
D | annotate.c | 243 int hist_entry__gtk_annotate(struct hist_entry *he, in hist_entry__gtk_annotate() argument 247 return symbol__gtk_annotate(&he->ms, evsel, hbt); in hist_entry__gtk_annotate()
|
/tools/perf/ui/ |
D | hist.c | 25 static int __hpp__fmt(struct perf_hpp *hpp, struct hist_entry *he, in __hpp__fmt() argument 30 struct hists *hists = he->hists; in __hpp__fmt() 40 percent = 100.0 * get_field(he) / total; in __hpp__fmt() 44 ret = hpp__call_print_fn(hpp, print_fn, fmt, len, get_field(he)); in __hpp__fmt() 53 list_for_each_entry(pair, &he->pairs.head, pairs.node) { in __hpp__fmt() 115 struct hist_entry *he, hpp_field_fn get_field, in hpp__fmt() argument 121 return __hpp__fmt(hpp, he, get_field, fmtstr, 1, in hpp__fmt() 130 return __hpp__fmt(hpp, he, get_field, fmtstr, len, print_fn, fmt_percent); in hpp__fmt() 134 struct hist_entry *he, hpp_field_fn get_field, in hpp__fmt_acc() argument 142 return hpp__fmt(fmt, hpp, he, get_field, fmtstr, print_fn, fmt_percent); in hpp__fmt_acc() [all …]
|