Lines Matching refs:he
77 struct hist_entry he;
156 return &c2c_he->he;
159 static void c2c_he_free(void *he)
163 c2c_he = container_of(he, struct c2c_hist_entry, he);
186 he__get_c2c_hists(struct hist_entry *he,
194 c2c_he = container_of(he, struct c2c_hist_entry, he);
266 struct hist_entry *he;
298 he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops,
301 if (he == NULL)
304 c2c_he = container_of(he, struct c2c_hist_entry, he);
311 hists__inc_nr_samples(&c2c_hists->hists, he->filtered);
312 ret = hist_entry__append_callchain(he, sample);
328 c2c_hists = he__get_c2c_hists(he, c2c.cl_sort, 2);
332 he = hists__add_entry_ops(&c2c_hists->hists, &c2c_entry_ops,
335 if (he == NULL)
338 c2c_he = container_of(he, struct c2c_hist_entry, he);
348 hists__inc_nr_samples(&c2c_hists->hists, he->filtered);
349 ret = hist_entry__append_callchain(he, sample);
407 struct hist_entry *he);
409 struct hist_entry *he);
497 struct hist_entry *he)
500 int width = c2c_width(fmt, hpp, he->hists);
503 if (he->mem_info)
504 addr = cl_address(he->mem_info->daddr.addr);
511 struct hist_entry *he)
514 int width = c2c_width(fmt, hpp, he->hists);
516 c2c_he = container_of(he, struct c2c_hist_entry, he);
525 struct hist_entry *he)
528 int width = c2c_width(fmt, hpp, he->hists);
530 c2c_he = container_of(he, struct c2c_hist_entry, he);
535 struct hist_entry *he)
538 int width = c2c_width(fmt, hpp, he->hists);
541 if (he->mem_info)
542 addr = cl_offset(he->mem_info->daddr.al_addr);
563 struct hist_entry *he)
566 int width = c2c_width(fmt, hpp, he->hists);
569 if (he->mem_info)
570 addr = he->mem_info->iaddr.addr;
584 struct hist_entry *he)
587 int width = c2c_width(fmt, hpp, he->hists);
590 c2c_he = container_of(he, struct c2c_hist_entry, he);
605 c2c_left = container_of(left, struct c2c_hist_entry, he);
606 c2c_right = container_of(right, struct c2c_hist_entry, he);
617 struct hist_entry *he) \
620 int width = c2c_width(fmt, hpp, he->hists); \
622 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); \
680 struct hist_entry *he)
683 int width = c2c_width(fmt, hpp, he->hists);
686 c2c_he = container_of(he, struct c2c_hist_entry, he);
701 c2c_left = container_of(left, struct c2c_hist_entry, he);
702 c2c_right = container_of(right, struct c2c_hist_entry, he);
731 struct hist_entry *he)
734 int width = c2c_width(fmt, hpp, he->hists);
737 c2c_he = container_of(he, struct c2c_hist_entry, he);
752 c2c_left = container_of(left, struct c2c_hist_entry, he);
753 c2c_right = container_of(right, struct c2c_hist_entry, he);
765 struct hist_entry *he, get_percent_cb get_percent)
768 int width = c2c_width(fmt, hpp, he->hists);
771 c2c_he = container_of(he, struct c2c_hist_entry, he);
789 hists = container_of(c2c_he->he.hists, struct c2c_hists, hists);
822 struct hist_entry *he)
825 int width = c2c_width(fmt, hpp, he->hists);
829 c2c_he = container_of(he, struct c2c_hist_entry, he);
836 struct hist_entry *he)
838 return percent_color(fmt, hpp, he, percent_hitm);
850 c2c_left = container_of(left, struct c2c_hist_entry, he);
851 c2c_right = container_of(right, struct c2c_hist_entry, he);
859 static struct c2c_stats *he_stats(struct hist_entry *he)
863 c2c_he = container_of(he, struct c2c_hist_entry, he);
867 static struct c2c_stats *total_stats(struct hist_entry *he)
871 hists = container_of(he->hists, struct c2c_hists, hists);
887 hists = container_of(c2c_he->he.hists, struct c2c_hists, hists); \
898 struct hist_entry *he)
900 int width = c2c_width(fmt, hpp, he->hists);
901 double per = PERCENT(he, rmt_hitm);
909 struct hist_entry *he)
911 return percent_color(fmt, hpp, he, percent_rmt_hitm);
929 struct hist_entry *he)
931 int width = c2c_width(fmt, hpp, he->hists);
932 double per = PERCENT(he, lcl_hitm);
940 struct hist_entry *he)
942 return percent_color(fmt, hpp, he, percent_lcl_hitm);
960 struct hist_entry *he)
962 int width = c2c_width(fmt, hpp, he->hists);
963 double per = PERCENT(he, st_l1hit);
971 struct hist_entry *he)
973 return percent_color(fmt, hpp, he, percent_st_l1hit);
991 struct hist_entry *he)
993 int width = c2c_width(fmt, hpp, he->hists);
994 double per = PERCENT(he, st_l1miss);
1002 struct hist_entry *he)
1004 return percent_color(fmt, hpp, he, percent_st_l1miss);
1025 struct hist_entry *he)
1027 int width = c2c_width(fmt, hpp, he->hists);
1029 return scnprintf(hpp->buf, hpp->size, "%*d", width, he->thread->pid_);
1049 struct hist_entry *he)
1056 c2c_he = container_of(he, struct c2c_hist_entry, he);
1147 struct hist_entry *he, double mean)
1149 int width = c2c_width(fmt, hpp, he->hists);
1158 __func(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he) \
1161 c2c_he = container_of(he, struct c2c_hist_entry, he); \
1162 return mean_entry(fmt, hpp, he, avg_stats(&c2c_he->cstats.__val)); \
1171 struct hist_entry *he)
1174 int width = c2c_width(fmt, hpp, he->hists);
1177 c2c_he = container_of(he, struct c2c_hist_entry, he);
1185 struct hist_entry *he)
1188 int width = c2c_width(fmt, hpp, he->hists);
1191 c2c_he = container_of(he, struct c2c_hist_entry, he);
1199 struct hist_entry *he)
1201 int width = c2c_width(fmt, hpp, he->hists);
1670 struct hist_entry *he)
1677 len = hists__col_len(he->hists, dim->se->se_width_idx);
1680 len = symbol_width(he->hists, dim->se);
1683 return dim->se->se_snprintf(he, hpp->buf, hpp->size, len);
1850 static bool he__display(struct hist_entry *he, struct c2c_stats *stats)
1858 c2c_he = container_of(he, struct c2c_hist_entry, he);
1864 he->filtered = HIST_FILTER__C2C; \
1866 he->filtered = HIST_FILTER__C2C; \
1884 return he->filtered == 0;
1887 static inline int valid_hitm_or_store(struct hist_entry *he)
1892 c2c_he = container_of(he, struct c2c_hist_entry, he);
1934 c2c_hists = container_of(c2c_he->he.hists, struct c2c_hists, hists);
1935 hists__calc_col_len(&c2c_hists->hists, &c2c_he->he);
1939 static int filter_cb(struct hist_entry *he, void *arg __maybe_unused)
1943 c2c_he = container_of(he, struct c2c_hist_entry, he);
1945 if (c2c.show_src && !he->srcline)
1946 he->srcline = hist_entry__srcline(he);
1950 if (!valid_hitm_or_store(he))
1951 he->filtered = HIST_FILTER__C2C;
1956 static int resort_cl_cb(struct hist_entry *he, void *arg __maybe_unused)
1960 bool display = he__display(he, &c2c.hitm_stats);
1962 c2c_he = container_of(he, struct c2c_hist_entry, he);
2047 static int resort_hitm_cb(struct hist_entry *he, void *arg __maybe_unused)
2050 c2c_he = container_of(he, struct c2c_hist_entry, he);
2066 struct hist_entry *he;
2068 he = rb_entry(next, struct hist_entry, rb_node);
2069 ret = cb(he, NULL);
2072 next = rb_next(&he->rb_node);
2192 struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node);
2195 if (he->filtered)
2198 c2c_he = container_of(he, struct c2c_hist_entry, he);
2199 print_cacheline(c2c_he->hists, he, &hpp_list, out);
2259 struct hist_entry *he = rb_entry(nd, struct hist_entry, rb_node);
2261 if (!he->filtered)
2272 struct hist_entry *he;
2280 struct hist_entry *he;
2284 he = cl_browser->he;
2286 if (he->mem_info)
2287 addr = cl_address(he->mem_info->daddr.addr);
2294 c2c_cacheline_browser__new(struct hists *hists, struct hist_entry *he)
2303 browser->he = he;
2309 static int perf_c2c__browse_cacheline(struct hist_entry *he)
2322 if (!he)
2328 c2c_he = container_of(he, struct c2c_hist_entry, he);
2331 cl_browser = c2c_cacheline_browser__new(&c2c_hists->hists, he);