On Fri, Aug 16, 2019 at 10:13:43AM +0800, Jin Yao wrote: SNIP
> static void > hpp__entry_unpair(struct hist_entry *he, int idx, char *buf, size_t size) > { > @@ -1662,6 +1794,10 @@ static void data__hpp_register(struct data__file *d, > int idx) > fmt->color = hpp__color_cycles; > fmt->sort = hist_entry__cmp_nop; > break; > + case PERF_HPP_DIFF__CYCLES_HIST: > + fmt->color = hpp__color_cycles_hist; > + fmt->sort = hist_entry__cmp_nop; > + break; > default: > fmt->sort = hist_entry__cmp_nop; > break; > @@ -1688,8 +1824,13 @@ static int ui_init(void) > * PERF_HPP_DIFF__RATIO > * PERF_HPP_DIFF__WEIGHTED_DIFF > */ > - data__hpp_register(d, i ? compute_2_hpp[compute] : > - PERF_HPP_DIFF__BASELINE); > + if (cycles_hist && i && (compute == COMPUTE_CYCLES)) { > + data__hpp_register(d, PERF_HPP_DIFF__CYCLES); > + data__hpp_register(d, PERF_HPP_DIFF__CYCLES_HIST); > + } else { > + data__hpp_register(d, i ? compute_2_hpp[compute] : > + PERF_HPP_DIFF__BASELINE); > + } hum, why can't it be just like we treat other extra columns: --- @@ -1687,6 +1823,7 @@ static int ui_init(void) * PERF_HPP_DIFF__DELTA * PERF_HPP_DIFF__RATIO * PERF_HPP_DIFF__WEIGHTED_DIFF + * PERF_HPP_DIFF__CYCLES */ data__hpp_register(d, i ? compute_2_hpp[compute] : PERF_HPP_DIFF__BASELINE); @@ -1704,6 +1841,9 @@ static int ui_init(void) if (show_period) data__hpp_register(d, i ? PERF_HPP_DIFF__PERIOD : PERF_HPP_DIFF__PERIOD_BASELINE); + + if (cycles_hist && i) + data__hpp_register(d, PERF_HPP_DIFF__CYCLES_HIST); thanks, jirka