Lines Matching refs:he
32 struct hist_entry *he);
34 struct hist_entry *he);
36 struct hist_entry *he);
38 struct hist_entry *he);
296 static void hists__delete_entry(struct hists *hists, struct hist_entry *he);
298 static bool hists__decay_entry(struct hists *hists, struct hist_entry *he) in hists__decay_entry() argument
300 u64 prev_period = he->stat.period; in hists__decay_entry()
306 he_stat__decay(&he->stat); in hists__decay_entry()
308 he_stat__decay(he->stat_acc); in hists__decay_entry()
309 decay_callchain(he->callchain); in hists__decay_entry()
311 diff = prev_period - he->stat.period; in hists__decay_entry()
313 if (!he->depth) { in hists__decay_entry()
315 if (!he->filtered) in hists__decay_entry()
319 if (!he->leaf) { in hists__decay_entry()
321 struct rb_node *node = rb_first_cached(&he->hroot_out); in hists__decay_entry()
331 return he->stat.period == 0; in hists__decay_entry()
334 static void hists__delete_entry(struct hists *hists, struct hist_entry *he) in hists__delete_entry() argument
339 if (he->parent_he) { in hists__delete_entry()
340 root_in = &he->parent_he->hroot_in; in hists__delete_entry()
341 root_out = &he->parent_he->hroot_out; in hists__delete_entry()
350 rb_erase_cached(&he->rb_node_in, root_in); in hists__delete_entry()
351 rb_erase_cached(&he->rb_node, root_out); in hists__delete_entry()
354 if (!he->filtered) in hists__delete_entry()
357 hist_entry__delete(he); in hists__delete_entry()
411 static int hist_entry__init(struct hist_entry *he, in hist_entry__init() argument
416 *he = *template; in hist_entry__init()
417 he->callchain_size = callchain_size; in hist_entry__init()
420 he->stat_acc = malloc(sizeof(he->stat)); in hist_entry__init()
421 if (he->stat_acc == NULL) in hist_entry__init()
423 memcpy(he->stat_acc, &he->stat, sizeof(he->stat)); in hist_entry__init()
425 memset(&he->stat, 0, sizeof(he->stat)); in hist_entry__init()
428 map__get(he->ms.map); in hist_entry__init()
430 if (he->branch_info) { in hist_entry__init()
436 he->branch_info = malloc(sizeof(*he->branch_info)); in hist_entry__init()
437 if (he->branch_info == NULL) in hist_entry__init()
440 memcpy(he->branch_info, template->branch_info, in hist_entry__init()
441 sizeof(*he->branch_info)); in hist_entry__init()
443 map__get(he->branch_info->from.map); in hist_entry__init()
444 map__get(he->branch_info->to.map); in hist_entry__init()
447 if (he->mem_info) { in hist_entry__init()
448 map__get(he->mem_info->iaddr.map); in hist_entry__init()
449 map__get(he->mem_info->daddr.map); in hist_entry__init()
452 if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) in hist_entry__init()
453 callchain_init(he->callchain); in hist_entry__init()
455 if (he->raw_data) { in hist_entry__init()
456 he->raw_data = memdup(he->raw_data, he->raw_size); in hist_entry__init()
457 if (he->raw_data == NULL) in hist_entry__init()
461 if (he->srcline) { in hist_entry__init()
462 he->srcline = strdup(he->srcline); in hist_entry__init()
463 if (he->srcline == NULL) in hist_entry__init()
468 he->res_samples = calloc(sizeof(struct res_sample), in hist_entry__init()
470 if (!he->res_samples) in hist_entry__init()
474 INIT_LIST_HEAD(&he->pairs.node); in hist_entry__init()
475 thread__get(he->thread); in hist_entry__init()
476 he->hroot_in = RB_ROOT_CACHED; in hist_entry__init()
477 he->hroot_out = RB_ROOT_CACHED; in hist_entry__init()
480 he->leaf = true; in hist_entry__init()
485 zfree(&he->srcline); in hist_entry__init()
488 zfree(&he->raw_data); in hist_entry__init()
491 if (he->branch_info) { in hist_entry__init()
492 map__put(he->branch_info->from.map); in hist_entry__init()
493 map__put(he->branch_info->to.map); in hist_entry__init()
494 zfree(&he->branch_info); in hist_entry__init()
496 if (he->mem_info) { in hist_entry__init()
497 map__put(he->mem_info->iaddr.map); in hist_entry__init()
498 map__put(he->mem_info->daddr.map); in hist_entry__init()
501 map__zput(he->ms.map); in hist_entry__init()
502 zfree(&he->stat_acc); in hist_entry__init()
526 struct hist_entry *he; in hist_entry__new() local
535 he = ops->new(callchain_size); in hist_entry__new()
536 if (he) { in hist_entry__new()
537 err = hist_entry__init(he, template, sample_self, callchain_size); in hist_entry__new()
539 ops->free(he); in hist_entry__new()
540 he = NULL; in hist_entry__new()
544 return he; in hist_entry__new()
554 static void hist_entry__add_callchain_period(struct hist_entry *he, u64 period) in hist_entry__add_callchain_period() argument
556 if (!hist_entry__has_callchains(he) || !symbol_conf.use_callchain) in hist_entry__add_callchain_period()
559 he->hists->callchain_period += period; in hist_entry__add_callchain_period()
560 if (!he->filtered) in hist_entry__add_callchain_period()
561 he->hists->callchain_non_filtered_period += period; in hist_entry__add_callchain_period()
571 struct hist_entry *he; in hists__findnew_entry() local
581 he = rb_entry(parent, struct hist_entry, rb_node_in); in hists__findnew_entry()
589 cmp = hist_entry__cmp(he, entry); in hists__findnew_entry()
593 he_stat__add_period(&he->stat, period, weight); in hists__findnew_entry()
594 hist_entry__add_callchain_period(he, period); in hists__findnew_entry()
597 he_stat__add_period(he->stat_acc, period, weight); in hists__findnew_entry()
613 if (he->ms.map != entry->ms.map) { in hists__findnew_entry()
614 map__put(he->ms.map); in hists__findnew_entry()
615 he->ms.map = map__get(entry->ms.map); in hists__findnew_entry()
628 he = hist_entry__new(entry, sample_self); in hists__findnew_entry()
629 if (!he) in hists__findnew_entry()
633 hist_entry__add_callchain_period(he, period); in hists__findnew_entry()
636 rb_link_node(&he->rb_node_in, parent, p); in hists__findnew_entry()
637 rb_insert_color_cached(&he->rb_node_in, hists->entries_in, leftmost); in hists__findnew_entry()
640 he_stat__add_cpumode_period(&he->stat, al->cpumode, period); in hists__findnew_entry()
642 he_stat__add_cpumode_period(he->stat_acc, al->cpumode, period); in hists__findnew_entry()
643 return he; in hists__findnew_entry()
656 static void hists__res_sample(struct hist_entry *he, struct perf_sample *sample) in hists__res_sample() argument
661 if (he->num_res < symbol_conf.res_sample) { in hists__res_sample()
662 j = he->num_res++; in hists__res_sample()
666 r = &he->res_samples[j]; in hists__res_sample()
717 }, *he = hists__findnew_entry(hists, &entry, al, sample_self); in __hists__add_entry() local
719 if (!hists->has_callchains && he && he->callchain_size != 0) in __hists__add_entry()
721 if (he && symbol_conf.res_sample) in __hists__add_entry()
722 hists__res_sample(he, sample); in __hists__add_entry()
723 return he; in __hists__add_entry()
758 }, *he = hists__findnew_entry(hists, &entry, al, false); in hists__add_entry_block() local
760 return he; in hists__add_entry_block()
798 struct hist_entry *he; in iter_add_single_mem_entry() local
816 he = hists__add_entry(hists, al, iter->parent, NULL, mi, in iter_add_single_mem_entry()
818 if (!he) in iter_add_single_mem_entry()
821 iter->he = he; in iter_add_single_mem_entry()
831 struct hist_entry *he = iter->he; in iter_finish_mem_entry() local
834 if (he == NULL) in iter_finish_mem_entry()
837 hists__inc_nr_samples(hists, he->filtered); in iter_finish_mem_entry()
839 err = hist_entry__append_callchain(he, iter->sample); in iter_finish_mem_entry()
849 iter->he = NULL; in iter_finish_mem_entry()
902 struct hist_entry *he = NULL; in iter_add_next_branch_entry() local
918 he = hists__add_entry(hists, al, iter->parent, &bi[i], NULL, in iter_add_next_branch_entry()
920 if (he == NULL) in iter_add_next_branch_entry()
923 hists__inc_nr_samples(hists, he->filtered); in iter_add_next_branch_entry()
926 iter->he = he; in iter_add_next_branch_entry()
936 iter->he = NULL; in iter_finish_branch_entry()
953 struct hist_entry *he; in iter_add_single_normal_entry() local
955 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, in iter_add_single_normal_entry()
957 if (he == NULL) in iter_add_single_normal_entry()
960 iter->he = he; in iter_add_single_normal_entry()
968 struct hist_entry *he = iter->he; in iter_finish_normal_entry() local
972 if (he == NULL) in iter_finish_normal_entry()
975 iter->he = NULL; in iter_finish_normal_entry()
977 hists__inc_nr_samples(evsel__hists(evsel), he->filtered); in iter_finish_normal_entry()
979 return hist_entry__append_callchain(he, sample); in iter_finish_normal_entry()
1013 struct hist_entry *he; in iter_add_single_cumulative_entry() local
1016 he = hists__add_entry(hists, al, iter->parent, NULL, NULL, in iter_add_single_cumulative_entry()
1018 if (he == NULL) in iter_add_single_cumulative_entry()
1021 iter->he = he; in iter_add_single_cumulative_entry()
1022 he_cache[iter->curr++] = he; in iter_add_single_cumulative_entry()
1024 hist_entry__append_callchain(he, sample); in iter_add_single_cumulative_entry()
1032 hists__inc_nr_samples(hists, he->filtered); in iter_add_single_cumulative_entry()
1057 struct hist_entry *he; in iter_add_next_cumulative_entry() local
1087 iter->he = NULL; in iter_add_next_cumulative_entry()
1092 he = hists__add_entry(evsel__hists(evsel), al, iter->parent, NULL, NULL, in iter_add_next_cumulative_entry()
1094 if (he == NULL) in iter_add_next_cumulative_entry()
1097 iter->he = he; in iter_add_next_cumulative_entry()
1098 he_cache[iter->curr++] = he; in iter_add_next_cumulative_entry()
1100 if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) in iter_add_next_cumulative_entry()
1101 callchain_append(he->callchain, &cursor, sample->period); in iter_add_next_cumulative_entry()
1110 iter->he = NULL; in iter_finish_cumulative_entry()
1171 if (iter->he && iter->add_entry_cb) { in hist_entry_iter__add()
1182 if (iter->he && iter->add_entry_cb) { in hist_entry_iter__add()
1239 void hist_entry__delete(struct hist_entry *he) in hist_entry__delete() argument
1241 struct hist_entry_ops *ops = he->ops; in hist_entry__delete()
1243 thread__zput(he->thread); in hist_entry__delete()
1244 map__zput(he->ms.map); in hist_entry__delete()
1246 if (he->branch_info) { in hist_entry__delete()
1247 map__zput(he->branch_info->from.map); in hist_entry__delete()
1248 map__zput(he->branch_info->to.map); in hist_entry__delete()
1249 free_srcline(he->branch_info->srcline_from); in hist_entry__delete()
1250 free_srcline(he->branch_info->srcline_to); in hist_entry__delete()
1251 zfree(&he->branch_info); in hist_entry__delete()
1254 if (he->mem_info) { in hist_entry__delete()
1255 map__zput(he->mem_info->iaddr.map); in hist_entry__delete()
1256 map__zput(he->mem_info->daddr.map); in hist_entry__delete()
1257 mem_info__zput(he->mem_info); in hist_entry__delete()
1260 if (he->block_info) in hist_entry__delete()
1261 block_info__zput(he->block_info); in hist_entry__delete()
1263 zfree(&he->res_samples); in hist_entry__delete()
1264 zfree(&he->stat_acc); in hist_entry__delete()
1265 free_srcline(he->srcline); in hist_entry__delete()
1266 if (he->srcfile && he->srcfile[0]) in hist_entry__delete()
1267 zfree(&he->srcfile); in hist_entry__delete()
1268 free_callchain(he->callchain); in hist_entry__delete()
1269 zfree(&he->trace_output); in hist_entry__delete()
1270 zfree(&he->raw_data); in hist_entry__delete()
1271 ops->free(he); in hist_entry__delete()
1281 int hist_entry__snprintf_alignment(struct hist_entry *he, struct perf_hpp *hpp, in hist_entry__snprintf_alignment() argument
1284 if (!list_is_last(&fmt->list, &he->hists->hpp_list->fields)) { in hist_entry__snprintf_alignment()
1285 const int width = fmt->width(fmt, hpp, he->hists); in hist_entry__snprintf_alignment()
1299 static void hists__apply_filters(struct hists *hists, struct hist_entry *he);
1300 static void hists__remove_entry_filter(struct hists *hists, struct hist_entry *he,
1310 static void hist_entry__check_and_remove_filter(struct hist_entry *he, in hist_entry__check_and_remove_filter() argument
1316 struct hist_entry *parent = he->parent_he; in hist_entry__check_and_remove_filter()
1343 perf_hpp_list__for_each_format(he->hpp_list, fmt) { in hist_entry__check_and_remove_filter()
1357 if (!(he->filtered & (1 << type))) { in hist_entry__check_and_remove_filter()
1374 he->filtered |= (1 << type); in hist_entry__check_and_remove_filter()
1376 he->filtered |= (parent->filtered & (1 << type)); in hist_entry__check_and_remove_filter()
1380 static void hist_entry__apply_hierarchy_filters(struct hist_entry *he) in hist_entry__apply_hierarchy_filters() argument
1382 hist_entry__check_and_remove_filter(he, HIST_FILTER__THREAD, in hist_entry__apply_hierarchy_filters()
1385 hist_entry__check_and_remove_filter(he, HIST_FILTER__DSO, in hist_entry__apply_hierarchy_filters()
1388 hist_entry__check_and_remove_filter(he, HIST_FILTER__SYMBOL, in hist_entry__apply_hierarchy_filters()
1391 hists__apply_filters(he->hists, he); in hist_entry__apply_hierarchy_filters()
1396 struct hist_entry *he, in hierarchy_insert_entry() argument
1413 cmp = fmt->collapse(fmt, iter, he); in hierarchy_insert_entry()
1419 he_stat__add_stat(&iter->stat, &he->stat); in hierarchy_insert_entry()
1431 new = hist_entry__new(he, true); in hierarchy_insert_entry()
1446 he->trace_output = NULL; in hierarchy_insert_entry()
1451 he->srcline = NULL; in hierarchy_insert_entry()
1456 he->srcfile = NULL; in hierarchy_insert_entry()
1468 struct hist_entry *he) in hists__hierarchy_insert_entry() argument
1482 new_he = hierarchy_insert_entry(hists, root, he, parent, &node->hpp); in hists__hierarchy_insert_entry()
1501 he->callchain) < 0) in hists__hierarchy_insert_entry()
1507 hist_entry__delete(he); in hists__hierarchy_insert_entry()
1515 struct hist_entry *he) in hists__collapse_insert_entry() argument
1524 return hists__hierarchy_insert_entry(hists, root, he); in hists__collapse_insert_entry()
1530 cmp = hist_entry__collapse(iter, he); in hists__collapse_insert_entry()
1535 he_stat__add_stat(&iter->stat, &he->stat); in hists__collapse_insert_entry()
1537 he_stat__add_stat(iter->stat_acc, he->stat_acc); in hists__collapse_insert_entry()
1539 if (hist_entry__has_callchains(he) && symbol_conf.use_callchain) { in hists__collapse_insert_entry()
1543 he->callchain) < 0) in hists__collapse_insert_entry()
1546 hist_entry__delete(he); in hists__collapse_insert_entry()
1559 rb_link_node(&he->rb_node_in, parent, p); in hists__collapse_insert_entry()
1560 rb_insert_color_cached(&he->rb_node_in, root, leftmost); in hists__collapse_insert_entry()
1579 static void hists__apply_filters(struct hists *hists, struct hist_entry *he) in hists__apply_filters() argument
1581 hists__filter_entry_by_dso(hists, he); in hists__apply_filters()
1582 hists__filter_entry_by_thread(hists, he); in hists__apply_filters()
1583 hists__filter_entry_by_symbol(hists, he); in hists__apply_filters()
1584 hists__filter_entry_by_socket(hists, he); in hists__apply_filters()
1678 struct hist_entry *he; in hierarchy_recalc_total_periods() local
1691 he = rb_entry(node, struct hist_entry, rb_node); in hierarchy_recalc_total_periods()
1694 hists->stats.total_period += he->stat.period; in hierarchy_recalc_total_periods()
1695 if (!he->filtered) in hierarchy_recalc_total_periods()
1696 hists->stats.total_non_filtered_period += he->stat.period; in hierarchy_recalc_total_periods()
1701 struct hist_entry *he) in hierarchy_insert_output_entry() argument
1713 if (hist_entry__sort(he, iter) > 0) in hierarchy_insert_output_entry()
1721 rb_link_node(&he->rb_node, parent, p); in hierarchy_insert_output_entry()
1722 rb_insert_color_cached(&he->rb_node, root, leftmost); in hierarchy_insert_output_entry()
1725 perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { in hierarchy_insert_output_entry()
1727 fmt->sort(fmt, he, NULL); in hierarchy_insert_output_entry()
1739 struct hist_entry *he; in hists__hierarchy_output_resort() local
1745 he = rb_entry(node, struct hist_entry, rb_node_in); in hists__hierarchy_output_resort()
1748 hierarchy_insert_output_entry(root_out, he); in hists__hierarchy_output_resort()
1754 if (!he->filtered) { in hists__hierarchy_output_resort()
1756 hists__calc_col_len(hists, he); in hists__hierarchy_output_resort()
1759 if (!he->leaf) { in hists__hierarchy_output_resort()
1761 &he->hroot_in, in hists__hierarchy_output_resort()
1762 &he->hroot_out, in hists__hierarchy_output_resort()
1772 u64 total = he->stat.period; in hists__hierarchy_output_resort()
1775 total = he->stat_acc->period; in hists__hierarchy_output_resort()
1780 callchain_param.sort(&he->sorted_chain, he->callchain, in hists__hierarchy_output_resort()
1786 struct hist_entry *he, in __hists__insert_output_entry() argument
1798 u64 total = he->stat.period; in __hists__insert_output_entry()
1801 total = he->stat_acc->period; in __hists__insert_output_entry()
1805 callchain_param.sort(&he->sorted_chain, he->callchain, in __hists__insert_output_entry()
1813 if (hist_entry__sort(he, iter) > 0) in __hists__insert_output_entry()
1821 rb_link_node(&he->rb_node, parent, p); in __hists__insert_output_entry()
1822 rb_insert_color_cached(&he->rb_node, entries, leftmost); in __hists__insert_output_entry()
1826 perf_hpp__defined_dynamic_entry(fmt, he->hists)) in __hists__insert_output_entry()
1827 fmt->sort(fmt, he, NULL); /* update column width */ in __hists__insert_output_entry()
1917 static bool can_goto_child(struct hist_entry *he, enum hierarchy_move_dir hmd) in can_goto_child() argument
1919 if (he->leaf || hmd == HMD_FORCE_SIBLING) in can_goto_child()
1922 if (he->unfolded || hmd == HMD_FORCE_CHILD) in can_goto_child()
1930 struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); in rb_hierarchy_last() local
1932 while (can_goto_child(he, HMD_NORMAL)) { in rb_hierarchy_last()
1933 node = rb_last(&he->hroot_out.rb_root); in rb_hierarchy_last()
1934 he = rb_entry(node, struct hist_entry, rb_node); in rb_hierarchy_last()
1941 struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); in __rb_hierarchy_next() local
1943 if (can_goto_child(he, hmd)) in __rb_hierarchy_next()
1944 node = rb_first_cached(&he->hroot_out); in __rb_hierarchy_next()
1949 he = he->parent_he; in __rb_hierarchy_next()
1950 if (he == NULL) in __rb_hierarchy_next()
1953 node = rb_next(&he->rb_node); in __rb_hierarchy_next()
1960 struct hist_entry *he = rb_entry(node, struct hist_entry, rb_node); in rb_hierarchy_prev() local
1966 he = he->parent_he; in rb_hierarchy_prev()
1967 if (he == NULL) in rb_hierarchy_prev()
1970 return &he->rb_node; in rb_hierarchy_prev()
1973 bool hist_entry__has_hierarchy_children(struct hist_entry *he, float limit) in hist_entry__has_hierarchy_children() argument
1979 if (he->leaf) in hist_entry__has_hierarchy_children()
1982 node = rb_first_cached(&he->hroot_out); in hist_entry__has_hierarchy_children()
2041 struct hist_entry *he) in hists__filter_entry_by_dso() argument
2044 (he->ms.map == NULL || he->ms.map->dso != hists->dso_filter)) { in hists__filter_entry_by_dso()
2045 he->filtered |= (1 << HIST_FILTER__DSO); in hists__filter_entry_by_dso()
2053 struct hist_entry *he) in hists__filter_entry_by_thread() argument
2056 he->thread != hists->thread_filter) { in hists__filter_entry_by_thread()
2057 he->filtered |= (1 << HIST_FILTER__THREAD); in hists__filter_entry_by_thread()
2065 struct hist_entry *he) in hists__filter_entry_by_symbol() argument
2068 (!he->ms.sym || strstr(he->ms.sym->name, in hists__filter_entry_by_symbol()
2070 he->filtered |= (1 << HIST_FILTER__SYMBOL); in hists__filter_entry_by_symbol()
2078 struct hist_entry *he) in hists__filter_entry_by_socket() argument
2081 (he->socket != hists->socket_filter)) { in hists__filter_entry_by_socket()
2082 he->filtered |= (1 << HIST_FILTER__SOCKET); in hists__filter_entry_by_socket()
2089 typedef bool (*filter_fn_t)(struct hists *hists, struct hist_entry *he);
2111 struct hist_entry *he) in resort_filtered_entry() argument
2124 if (hist_entry__sort(he, iter) > 0) in resort_filtered_entry()
2132 rb_link_node(&he->rb_node, parent, p); in resort_filtered_entry()
2133 rb_insert_color_cached(&he->rb_node, root, leftmost); in resort_filtered_entry()
2135 if (he->leaf || he->filtered) in resort_filtered_entry()
2138 nd = rb_first_cached(&he->hroot_out); in resort_filtered_entry()
2143 rb_erase_cached(&h->rb_node, &he->hroot_out); in resort_filtered_entry()
2148 he->hroot_out = new_root; in resort_filtered_entry()
2282 struct hist_entry *he; in hists__add_dummy_entry() local
2295 he = rb_entry(parent, struct hist_entry, rb_node_in); in hists__add_dummy_entry()
2297 cmp = hist_entry__collapse(he, pair); in hists__add_dummy_entry()
2310 he = hist_entry__new(pair, true); in hists__add_dummy_entry()
2311 if (he) { in hists__add_dummy_entry()
2312 memset(&he->stat, 0, sizeof(he->stat)); in hists__add_dummy_entry()
2313 he->hists = hists; in hists__add_dummy_entry()
2315 memset(he->stat_acc, 0, sizeof(he->stat)); in hists__add_dummy_entry()
2316 rb_link_node(&he->rb_node_in, parent, p); in hists__add_dummy_entry()
2317 rb_insert_color_cached(&he->rb_node_in, root, leftmost); in hists__add_dummy_entry()
2318 hists__inc_stats(hists, he); in hists__add_dummy_entry()
2319 he->dummy = true; in hists__add_dummy_entry()
2322 return he; in hists__add_dummy_entry()
2331 struct hist_entry *he; in add_dummy_hierarchy_entry() local
2340 he = rb_entry(parent, struct hist_entry, rb_node_in); in add_dummy_hierarchy_entry()
2342 perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { in add_dummy_hierarchy_entry()
2343 cmp = fmt->collapse(fmt, he, pair); in add_dummy_hierarchy_entry()
2358 he = hist_entry__new(pair, true); in add_dummy_hierarchy_entry()
2359 if (he) { in add_dummy_hierarchy_entry()
2360 rb_link_node(&he->rb_node_in, parent, p); in add_dummy_hierarchy_entry()
2361 rb_insert_color_cached(&he->rb_node_in, root, leftmost); in add_dummy_hierarchy_entry()
2363 he->dummy = true; in add_dummy_hierarchy_entry()
2364 he->hists = hists; in add_dummy_hierarchy_entry()
2365 memset(&he->stat, 0, sizeof(he->stat)); in add_dummy_hierarchy_entry()
2366 hists__inc_stats(hists, he); in add_dummy_hierarchy_entry()
2369 return he; in add_dummy_hierarchy_entry()
2373 struct hist_entry *he) in hists__find_entry() argument
2384 int64_t cmp = hist_entry__collapse(iter, he); in hists__find_entry()
2398 struct hist_entry *he) in hists__find_hierarchy_entry() argument
2408 perf_hpp_list__for_each_sort_list(he->hpp_list, fmt) { in hists__find_hierarchy_entry()
2409 cmp = fmt->collapse(fmt, iter, he); in hists__find_hierarchy_entry()
2744 struct hist_entry *he; in hists__delete_remaining_entries() local
2750 he = rb_entry(node, struct hist_entry, rb_node_in); in hists__delete_remaining_entries()
2751 hist_entry__delete(he); in hists__delete_remaining_entries()