Lines Matching refs:he
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()
318 he_total = he->hists->stats.total_non_filtered_period; in formula_delta()
325 he->stat.period, he_total); in formula_delta()
328 static int formula_ratio(struct hist_entry *he, struct hist_entry *pair, in formula_ratio() argument
331 double old_period = he->stat.period; in formula_ratio()
337 static int formula_wdiff(struct hist_entry *he, struct hist_entry *pair, in formula_wdiff() argument
340 u64 old_period = he->stat.period; in formula_wdiff()
348 static int formula_fprintf(struct hist_entry *he, struct hist_entry *pair, in formula_fprintf() argument
354 return formula_delta(he, pair, buf, size); in formula_fprintf()
356 return formula_ratio(he, pair, buf, size); in formula_fprintf()
358 return formula_wdiff(he, pair, buf, size); in formula_fprintf()
374 return &bh->he; in block_hist_zalloc()
377 static void block_hist_free(void *he) in block_hist_free() argument
381 bh = container_of(he, struct block_hist, he); in block_hist_free()
518 get_pair_data(struct hist_entry *he, struct data__file *d) in get_pair_data() argument
520 if (hist_entry__has_pairs(he)) { in get_pair_data()
523 list_for_each_entry(pair, &he->pairs.head, pairs.node) in get_pair_data()
532 get_pair_fmt(struct hist_entry *he, struct diff_hpp_fmt *dfmt) in get_pair_fmt() argument
536 return get_pair_data(he, d); in get_pair_fmt()
551 struct hist_entry *he = rb_entry(next, struct hist_entry, rb_node_in); in hists__baseline_only() local
553 next = rb_next(&he->rb_node_in); in hists__baseline_only()
554 if (!hist_entry__next_pair(he)) { in hists__baseline_only()
555 rb_erase_cached(&he->rb_node_in, root); in hists__baseline_only()
556 hist_entry__delete(he); in hists__baseline_only()
596 static struct hist_entry *get_block_pair(struct hist_entry *he, in get_block_pair() argument
609 cmp = __block_info__cmp(he_pair, he); in get_block_pair()
632 static void compute_cycles_diff(struct hist_entry *he, in compute_cycles_diff() argument
636 if (pair->block_info->num && he->block_info->num) { in compute_cycles_diff()
639 he->block_info->cycles_aggr / he->block_info->num_aggr; in compute_cycles_diff()
650 if (i >= he->block_info->num || i >= NUM_SPARKS) in compute_cycles_diff()
654 he->block_info->cycles_spark[i]); in compute_cycles_diff()
670 struct hist_entry *he = rb_entry(next, struct hist_entry, in block_hists_match() local
672 struct hist_entry *pair = get_block_pair(he, hists_pair); in block_hists_match()
674 next = rb_next(&he->rb_node_in); in block_hists_match()
677 hist_entry__add_pair(pair, he); in block_hists_match()
678 compute_cycles_diff(he, pair); in block_hists_match()
696 struct hist_entry *he, *pair; in hists__precompute() local
700 he = rb_entry(next, struct hist_entry, rb_node_in); in hists__precompute()
701 next = rb_next(&he->rb_node_in); in hists__precompute()
704 bh = container_of(he, struct block_hist, he); in hists__precompute()
706 block_info__process_sym(he, bh, NULL, 0); in hists__precompute()
710 pair = get_pair_data(he, d); in hists__precompute()
717 compute_delta(he, pair); in hists__precompute()
720 compute_ratio(he, pair); in hists__precompute()
723 compute_wdiff(he, pair); in hists__precompute()
727 he); in hists__precompute()
731 bh = container_of(he, struct block_hist, he); in hists__precompute()
1313 static double baseline_percent(struct hist_entry *he) in baseline_percent() argument
1315 u64 total = hists__total_period(he->hists); in baseline_percent()
1317 return 100.0 * he->stat.period / total; in baseline_percent()
1321 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_baseline() argument
1325 double percent = baseline_percent(he); in hpp__color_baseline()
1328 if (!he->dummy) { in hpp__color_baseline()
1337 static int hpp__entry_baseline(struct hist_entry *he, char *buf, size_t size) in hpp__entry_baseline() argument
1339 double percent = baseline_percent(he); in hpp__entry_baseline()
1343 if (!he->dummy) in hpp__entry_baseline()
1349 static int cycles_printf(struct hist_entry *he, struct hist_entry *pair, in cycles_printf() argument
1352 struct block_hist *bh = container_of(he, struct block_hist, he); in cycles_printf()
1353 struct block_hist *bh_pair = container_of(pair, struct block_hist, he); in cycles_printf()
1372 start_line = map__srcline(he->ms.map, bi->sym->start + bi->start, in cycles_printf()
1373 he->ms.sym); in cycles_printf()
1375 end_line = map__srcline(he->ms.map, bi->sym->start + bi->end, in cycles_printf()
1376 he->ms.sym); in cycles_printf()
1394 struct perf_hpp *hpp, struct hist_entry *he, in __hpp__color_compare() argument
1399 struct hist_entry *pair = get_pair_fmt(he, dfmt); in __hpp__color_compare()
1408 bh = container_of(he, struct block_hist, he); in __hpp__color_compare()
1421 diff = compute_delta(he, pair); in __hpp__color_compare()
1427 if (he->dummy) in __hpp__color_compare()
1432 diff = compute_ratio(he, pair); in __hpp__color_compare()
1438 if (he->dummy) in __hpp__color_compare()
1443 wdiff = compute_wdiff(he, pair); in __hpp__color_compare()
1450 return cycles_printf(he, pair, hpp, dfmt->header_width); in __hpp__color_compare()
1463 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_delta() argument
1465 return __hpp__color_compare(fmt, hpp, he, COMPUTE_DELTA); in hpp__color_delta()
1469 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_ratio() argument
1471 return __hpp__color_compare(fmt, hpp, he, COMPUTE_RATIO); in hpp__color_ratio()
1475 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_wdiff() argument
1477 return __hpp__color_compare(fmt, hpp, he, COMPUTE_WEIGHTED_DIFF); in hpp__color_wdiff()
1481 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_cycles() argument
1483 return __hpp__color_compare(fmt, hpp, he, COMPUTE_CYCLES); in hpp__color_cycles()
1514 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_cycles_hist() argument
1518 struct hist_entry *pair = get_pair_fmt(he, dfmt); in hpp__color_cycles_hist()
1519 struct block_hist *bh = container_of(he, struct block_hist, he); in hpp__color_cycles_hist()
1533 bh_pair = container_of(pair, struct block_hist, he); in hpp__color_cycles_hist()
1571 hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) in hpp__entry_unpair() argument
1575 scnprintf(buf, size, "%" PRIu64, he->stat.period); in hpp__entry_unpair()
1584 hpp__entry_pair(struct hist_entry *he, struct hist_entry *pair, in hpp__entry_pair() argument
1597 diff = compute_delta(he, pair); in hpp__entry_pair()
1604 if (he->dummy) { in hpp__entry_pair()
1612 ratio = compute_ratio(he, pair); in hpp__entry_pair()
1620 if (he->dummy) { in hpp__entry_pair()
1628 wdiff = compute_wdiff(he, pair); in hpp__entry_pair()
1635 formula_fprintf(he, pair, buf, size); in hpp__entry_pair()
1648 __hpp__entry_global(struct hist_entry *he, struct diff_hpp_fmt *dfmt, in __hpp__entry_global() argument
1651 struct hist_entry *pair = get_pair_fmt(he, dfmt); in __hpp__entry_global()
1656 hpp__entry_baseline(he, buf, size); in __hpp__entry_global()
1659 hpp__entry_pair(he, pair, idx, buf, size); in __hpp__entry_global()
1661 hpp__entry_unpair(he, idx, buf, size); in __hpp__entry_global()
1666 struct hist_entry *he) in hpp__entry_global() argument
1672 __hpp__entry_global(he, dfmt, buf, MAX_COL_WIDTH); in hpp__entry_global()