Lines Matching full:he
273 static double period_percent(struct hist_entry *he, u64 period) in period_percent() argument
275 u64 total = hists__total_period(he->hists); in period_percent()
280 static double compute_delta(struct hist_entry *he, struct hist_entry *pair) in compute_delta() argument
282 double old_percent = period_percent(he, he->stat.period); in compute_delta()
290 static double compute_ratio(struct hist_entry *he, struct hist_entry *pair) in compute_ratio() argument
292 double old_period = he->stat.period ?: 1; in compute_ratio()
300 static s64 compute_wdiff(struct hist_entry *he, struct hist_entry *pair) in compute_wdiff() argument
302 u64 old_period = he->stat.period; in compute_wdiff()
312 static int formula_delta(struct hist_entry *he, struct hist_entry *pair, in formula_delta() argument
315 u64 he_total = he->hists->stats.total_period; in formula_delta()
319 he_total = he->hists->stats.total_non_filtered_period; in formula_delta()
326 he->stat.period, he_total); in formula_delta()
329 static int formula_ratio(struct hist_entry *he, struct hist_entry *pair, in formula_ratio() argument
332 double old_period = he->stat.period; in formula_ratio()
338 static int formula_wdiff(struct hist_entry *he, struct hist_entry *pair, in formula_wdiff() argument
341 u64 old_period = he->stat.period; in formula_wdiff()
349 static int formula_fprintf(struct hist_entry *he, struct hist_entry *pair, in formula_fprintf() argument
355 return formula_delta(he, pair, buf, size); in formula_fprintf()
357 return formula_ratio(he, pair, buf, size); in formula_fprintf()
359 return formula_wdiff(he, pair, buf, size); in formula_fprintf()
375 return &bh->he; in block_hist_zalloc()
378 static void block_hist_free(void *he) in block_hist_free() argument
382 bh = container_of(he, struct block_hist, he); in block_hist_free()
507 get_pair_data(struct hist_entry *he, struct data__file *d) in get_pair_data() argument
509 if (hist_entry__has_pairs(he)) { in get_pair_data()
512 list_for_each_entry(pair, &he->pairs.head, pairs.node) in get_pair_data()
521 get_pair_fmt(struct hist_entry *he, struct diff_hpp_fmt *dfmt) in get_pair_fmt() argument
525 return get_pair_data(he, d); in get_pair_fmt()
540 struct hist_entry *he = rb_entry(next, struct hist_entry, rb_node_in); in hists__baseline_only() local
542 next = rb_next(&he->rb_node_in); in hists__baseline_only()
543 if (!hist_entry__next_pair(he)) { in hists__baseline_only()
544 rb_erase_cached(&he->rb_node_in, root); in hists__baseline_only()
545 hist_entry__delete(he); in hists__baseline_only()
585 static struct hist_entry *get_block_pair(struct hist_entry *he, in get_block_pair() argument
598 cmp = __block_info__cmp(he_pair, he); in get_block_pair()
621 static void compute_cycles_diff(struct hist_entry *he, in compute_cycles_diff() argument
625 if (pair->block_info->num && he->block_info->num) { in compute_cycles_diff()
628 he->block_info->cycles_aggr / he->block_info->num_aggr; in compute_cycles_diff()
639 if (i >= he->block_info->num || i >= NUM_SPARKS) in compute_cycles_diff()
643 he->block_info->cycles_spark[i]); in compute_cycles_diff()
659 struct hist_entry *he = rb_entry(next, struct hist_entry, in block_hists_match() local
661 struct hist_entry *pair = get_block_pair(he, hists_pair); in block_hists_match()
663 next = rb_next(&he->rb_node_in); in block_hists_match()
666 hist_entry__add_pair(pair, he); in block_hists_match()
667 compute_cycles_diff(he, pair); in block_hists_match()
685 struct hist_entry *he, *pair; in hists__precompute() local
689 he = rb_entry(next, struct hist_entry, rb_node_in); in hists__precompute()
690 next = rb_next(&he->rb_node_in); in hists__precompute()
693 bh = container_of(he, struct block_hist, he); in hists__precompute()
695 block_info__process_sym(he, bh, NULL, 0, 0); in hists__precompute()
699 pair = get_pair_data(he, d); in hists__precompute()
706 compute_delta(he, pair); in hists__precompute()
709 compute_ratio(he, pair); in hists__precompute()
712 compute_wdiff(he, pair); in hists__precompute()
716 he); in hists__precompute()
720 bh = container_of(he, struct block_hist, he); in hists__precompute()
1303 static double baseline_percent(struct hist_entry *he) in baseline_percent() argument
1305 u64 total = hists__total_period(he->hists); in baseline_percent()
1307 return 100.0 * he->stat.period / total; in baseline_percent()
1311 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_baseline() argument
1315 double percent = baseline_percent(he); in hpp__color_baseline()
1318 if (!he->dummy) { in hpp__color_baseline()
1327 static int hpp__entry_baseline(struct hist_entry *he, char *buf, size_t size) in hpp__entry_baseline() argument
1329 double percent = baseline_percent(he); in hpp__entry_baseline()
1333 if (!he->dummy) in hpp__entry_baseline()
1339 static int cycles_printf(struct hist_entry *he, struct hist_entry *pair, in cycles_printf() argument
1342 struct block_hist *bh = container_of(he, struct block_hist, he); in cycles_printf()
1343 struct block_hist *bh_pair = container_of(pair, struct block_hist, he); in cycles_printf()
1362 start_line = map__srcline(he->ms.map, bi->sym->start + bi->start, in cycles_printf()
1363 he->ms.sym); in cycles_printf()
1365 end_line = map__srcline(he->ms.map, bi->sym->start + bi->end, in cycles_printf()
1366 he->ms.sym); in cycles_printf()
1384 struct perf_hpp *hpp, struct hist_entry *he, in __hpp__color_compare() argument
1389 struct hist_entry *pair = get_pair_fmt(he, dfmt); in __hpp__color_compare()
1398 bh = container_of(he, struct block_hist, he); in __hpp__color_compare()
1411 diff = compute_delta(he, pair); in __hpp__color_compare()
1417 if (he->dummy) in __hpp__color_compare()
1422 diff = compute_ratio(he, pair); in __hpp__color_compare()
1428 if (he->dummy) in __hpp__color_compare()
1433 wdiff = compute_wdiff(he, pair); in __hpp__color_compare()
1440 return cycles_printf(he, pair, hpp, dfmt->header_width); in __hpp__color_compare()
1453 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_delta() argument
1455 return __hpp__color_compare(fmt, hpp, he, COMPUTE_DELTA); in hpp__color_delta()
1459 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_ratio() argument
1461 return __hpp__color_compare(fmt, hpp, he, COMPUTE_RATIO); in hpp__color_ratio()
1465 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_wdiff() argument
1467 return __hpp__color_compare(fmt, hpp, he, COMPUTE_WEIGHTED_DIFF); in hpp__color_wdiff()
1471 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_cycles() argument
1473 return __hpp__color_compare(fmt, hpp, he, COMPUTE_CYCLES); in hpp__color_cycles()
1504 struct perf_hpp *hpp, struct hist_entry *he) in hpp__color_cycles_hist() argument
1508 struct hist_entry *pair = get_pair_fmt(he, dfmt); in hpp__color_cycles_hist()
1509 struct block_hist *bh = container_of(he, struct block_hist, he); in hpp__color_cycles_hist()
1523 bh_pair = container_of(pair, struct block_hist, he); in hpp__color_cycles_hist()
1561 hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) in hpp__entry_unpair() argument
1565 scnprintf(buf, size, "%" PRIu64, he->stat.period); in hpp__entry_unpair()
1574 hpp__entry_pair(struct hist_entry *he, struct hist_entry *pair, in hpp__entry_pair() argument
1587 diff = compute_delta(he, pair); in hpp__entry_pair()
1594 if (he->dummy) { in hpp__entry_pair()
1602 ratio = compute_ratio(he, pair); in hpp__entry_pair()
1610 if (he->dummy) { in hpp__entry_pair()
1618 wdiff = compute_wdiff(he, pair); in hpp__entry_pair()
1625 formula_fprintf(he, pair, buf, size); in hpp__entry_pair()
1638 __hpp__entry_global(struct hist_entry *he, struct diff_hpp_fmt *dfmt, in __hpp__entry_global() argument
1641 struct hist_entry *pair = get_pair_fmt(he, dfmt); in __hpp__entry_global()
1646 hpp__entry_baseline(he, buf, size); in __hpp__entry_global()
1649 hpp__entry_pair(he, pair, idx, buf, size); in __hpp__entry_global()
1651 hpp__entry_unpair(he, idx, buf, size); in __hpp__entry_global()
1656 struct hist_entry *he) in hpp__entry_global() argument
1662 __hpp__entry_global(he, dfmt, buf, MAX_COL_WIDTH); in hpp__entry_global()