Lines Matching refs:he

81 	struct hist_entry	he;
164 return &c2c_he->he;
173 static void c2c_he_free(void *he)
177 c2c_he = container_of(he, struct c2c_hist_entry, he);
200 he__get_c2c_hists(struct hist_entry *he,
208 c2c_he = container_of(he, struct c2c_hist_entry, he);
284 struct hist_entry *he;
322 he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops,
325 if (he == NULL)
328 c2c_he = container_of(he, struct c2c_hist_entry, he);
335 hists__inc_nr_samples(&c2c_hists->hists, he->filtered);
336 ret = hist_entry__append_callchain(he, sample);
352 c2c_hists = he__get_c2c_hists(he, c2c.cl_sort, 2);
356 he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops,
359 if (he == NULL)
362 c2c_he = container_of(he, struct c2c_hist_entry, he);
372 hists__inc_nr_samples(&c2c_hists->hists, he->filtered);
373 ret = hist_entry__append_callchain(he, sample);
435 struct hist_entry *he);
437 struct hist_entry *he);
525 struct hist_entry *he)
528 int width = c2c_width(fmt, hpp, he->hists);
531 if (he->mem_info)
532 addr = cl_address(he->mem_info->daddr.addr, chk_double_cl);
539 struct hist_entry *he)
542 int width = c2c_width(fmt, hpp, he->hists);
544 c2c_he = container_of(he, struct c2c_hist_entry, he);
553 struct hist_entry *he)
556 int width = c2c_width(fmt, hpp, he->hists);
558 c2c_he = container_of(he, struct c2c_hist_entry, he);
563 struct hist_entry *he)
566 int width = c2c_width(fmt, hpp, he->hists);
569 if (he->mem_info)
570 addr = cl_offset(he->mem_info->daddr.al_addr, chk_double_cl);
592 struct hist_entry *he)
595 int width = c2c_width(fmt, hpp, he->hists);
598 if (he->mem_info)
599 addr = he->mem_info->iaddr.addr;
613 struct hist_entry *he)
616 int width = c2c_width(fmt, hpp, he->hists);
619 c2c_he = container_of(he, struct c2c_hist_entry, he);
634 c2c_left = container_of(left, struct c2c_hist_entry, he);
635 c2c_right = container_of(right, struct c2c_hist_entry, he);
646 struct hist_entry *he) \
649 int width = c2c_width(fmt, hpp, he->hists); \
651 c2c_he = container_of(he, struct c2c_hist_entry, he); \
663 c2c_left = container_of(left, struct c2c_hist_entry, he); \
664 c2c_right = container_of(right, struct c2c_hist_entry, he); \
721 struct hist_entry *he)
724 int width = c2c_width(fmt, hpp, he->hists);
727 c2c_he = container_of(he, struct c2c_hist_entry, he);
742 c2c_left = container_of(left, struct c2c_hist_entry, he);
743 c2c_right = container_of(right, struct c2c_hist_entry, he);
759 struct hist_entry *he)
762 int width = c2c_width(fmt, hpp, he->hists);
765 c2c_he = container_of(he, struct c2c_hist_entry, he);
780 c2c_left = container_of(left, struct c2c_hist_entry, he);
781 c2c_right = container_of(right, struct c2c_hist_entry, he);
793 struct hist_entry *he, get_percent_cb get_percent)
796 int width = c2c_width(fmt, hpp, he->hists);
799 c2c_he = container_of(he, struct c2c_hist_entry, he);
817 hists = container_of(c2c_he->he.hists, struct c2c_hists, hists);
855 struct hist_entry *he)
858 int width = c2c_width(fmt, hpp, he->hists);
862 c2c_he = container_of(he, struct c2c_hist_entry, he);
869 struct hist_entry *he)
871 return percent_color(fmt, hpp, he, percent_costly_snoop);
883 c2c_left = container_of(left, struct c2c_hist_entry, he);
884 c2c_right = container_of(right, struct c2c_hist_entry, he);
892 static struct c2c_stats *he_stats(struct hist_entry *he)
896 c2c_he = container_of(he, struct c2c_hist_entry, he);
900 static struct c2c_stats *total_stats(struct hist_entry *he)
904 hists = container_of(he->hists, struct c2c_hists, hists);
920 hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); \
934 struct hist_entry *he)
936 int width = c2c_width(fmt, hpp, he->hists);
937 double per = PERCENT(he, rmt_hitm);
945 struct hist_entry *he)
947 return percent_color(fmt, hpp, he, percent_rmt_hitm);
965 struct hist_entry *he)
967 int width = c2c_width(fmt, hpp, he->hists);
968 double per = PERCENT(he, lcl_hitm);
976 struct hist_entry *he)
978 return percent_color(fmt, hpp, he, percent_lcl_hitm);
996 struct hist_entry *he)
998 int width = c2c_width(fmt, hpp, he->hists);
999 double per = PERCENT(he, lcl_peer);
1007 struct hist_entry *he)
1009 return percent_color(fmt, hpp, he, percent_lcl_peer);
1027 struct hist_entry *he)
1029 int width = c2c_width(fmt, hpp, he->hists);
1030 double per = PERCENT(he, rmt_peer);
1038 struct hist_entry *he)
1040 return percent_color(fmt, hpp, he, percent_rmt_peer);
1058 struct hist_entry *he)
1060 int width = c2c_width(fmt, hpp, he->hists);
1061 double per = PERCENT(he, st_l1hit);
1069 struct hist_entry *he)
1071 return percent_color(fmt, hpp, he, percent_st_l1hit);
1089 struct hist_entry *he)
1091 int width = c2c_width(fmt, hpp, he->hists);
1092 double per = PERCENT(he, st_l1miss);
1100 struct hist_entry *he)
1102 return percent_color(fmt, hpp, he, percent_st_l1miss);
1120 struct hist_entry *he)
1122 int width = c2c_width(fmt, hpp, he->hists);
1123 double per = PERCENT(he, st_na);
1131 struct hist_entry *he)
1133 return percent_color(fmt, hpp, he, percent_st_na);
1154 struct hist_entry *he)
1156 int width = c2c_width(fmt, hpp, he->hists);
1158 return scnprintf(hpp->buf, hpp->size, "%*d", width, thread__pid(he->thread));
1191 struct hist_entry *he)
1198 c2c_he = container_of(he, struct c2c_hist_entry, he);
1287 struct hist_entry *he, double mean)
1289 int width = c2c_width(fmt, hpp, he->hists);
1298 __func(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he) \
1301 c2c_he = container_of(he, struct c2c_hist_entry, he); \
1302 return mean_entry(fmt, hpp, he, avg_stats(&c2c_he->cstats.__val)); \
1313 struct hist_entry *he)
1316 int width = c2c_width(fmt, hpp, he->hists);
1319 c2c_he = container_of(he, struct c2c_hist_entry, he);
1327 struct hist_entry *he)
1330 int width = c2c_width(fmt, hpp, he->hists);
1333 c2c_he = container_of(he, struct c2c_hist_entry, he);
1341 struct hist_entry *he)
1343 int width = c2c_width(fmt, hpp, he->hists);
1918 struct hist_entry *he)
1925 len = hists__col_len(he->hists, dim->se->se_width_idx);
1928 len = symbol_width(he->hists, dim->se);
1931 return dim->se->se_snprintf(he, hpp->buf, hpp->size, len);
2106 static bool he__display(struct hist_entry *he, struct c2c_stats *stats)
2113 c2c_he = container_of(he, struct c2c_hist_entry, he);
2117 he->filtered = filter_display(c2c_he->stats.lcl_hitm,
2121 he->filtered = filter_display(c2c_he->stats.rmt_hitm,
2125 he->filtered = filter_display(c2c_he->stats.tot_hitm,
2129 he->filtered = filter_display(c2c_he->stats.tot_peer,
2136 return he->filtered == 0;
2139 static inline bool is_valid_hist_entry(struct hist_entry *he)
2144 c2c_he = container_of(he, struct c2c_hist_entry, he);
2204 c2c_hists = container_of(c2c_he->he.hists, struct c2c_hists, hists);
2205 hists__calc_col_len(&c2c_hists->hists, &c2c_he->he);
2209 static int filter_cb(struct hist_entry *he, void *arg __maybe_unused)
2213 c2c_he = container_of(he, struct c2c_hist_entry, he);
2215 if (c2c.show_src && !he->srcline)
2216 he->srcline = hist_entry__srcline(he);
2220 if (!is_valid_hist_entry(he))
2221 he->filtered = HIST_FILTER__C2C;
2226 static int resort_cl_cb(struct hist_entry *he, void *arg __maybe_unused)
2230 bool display = he__display(he, &c2c.shared_clines_stats);
2232 c2c_he = container_of(he, struct c2c_hist_entry, he);
2343 static int resort_shared_cl_cb(struct hist_entry *he, void *arg __maybe_unused)
2346 c2c_he = container_of(he, struct c2c_hist_entry, he);
2362 struct hist_entry *he;
2364 he = rb_entry(next, struct hist_entry, rb_node);
2365 ret = cb(he, NULL);
2368 next = rb_next(&he->rb_node);
2504 struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node);
2507 if (he->filtered)
2510 c2c_he = container_of(he, struct c2c_hist_entry, he);
2511 print_cacheline(c2c_he->hists, he, &hpp_list, out);
2571 struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node);
2573 if (!he->filtered)
2584 struct hist_entry *he;
2592 struct hist_entry *he;
2596 he = cl_browser->he;
2598 if (he->mem_info)
2599 addr = cl_address(he->mem_info->daddr.addr, chk_double_cl);
2606 c2c_cacheline_browser__new(struct hists *hists, struct hist_entry *he)
2615 browser->he = he;
2621 static int perf_c2c__browse_cacheline(struct hist_entry *he)
2634 if (!he)
2640 c2c_he = container_of(he, struct c2c_hist_entry, he);
2643 cl_browser = c2c_cacheline_browser__new(&c2c_hists->hists, he);