Messages in this thread | | | From | Ramkumar Ramachandra <> | Date | Wed, 27 Nov 2013 16:32:17 +0530 | Subject | Re: [PATCH v2 3/5] perf diff: generalize hpp__color_delta for -c |
| |
Ramkumar Ramachandra wrote: > Jiri Olsa wrote: >>> if (!pair) >>> goto dummy_print; >>> if (pair->diff.computed) >>> - percent = pair->diff.period_ratio_delta; >>> + switch (comparison_method) { >>> + case COMPUTE_DELTA: >>> + delta = pair->diff.period_ratio_delta; >>> + break; >>> + default: >>> + BUG_ON(1); >>> + } >>> else >>> - percent = compute_delta(he, pair); >>> + switch (comparison_method) { >>> + case COMPUTE_DELTA: >>> + delta = compute_delta(he, pair); >>> + break; >>> + default: >>> + BUG_ON(1); >>> + } >>> >>> - if (!he->dummy && fabs(percent) >= 0.01) { >>> - scnprintf(pfmt, 20, "%%%+d.2f%%%%", dfmt->header_width - 1); >>> - return color_snprintf(hpp->buf, hpp->size, >>> - percent > 0 ? PERF_COLOR_GREEN : PERF_COLOR_RED, >>> - pfmt, percent); >>> + if (!he->dummy) { >> >> isn't this check superfluous because of the above (!pair) check? > > From builtin-diff.c:get_pair_data(), we see that `pair' is one of the > pairs in he->pairs. he->dummy is set in > util/hist.c:hists__add_dummy_entry() which is called only when he > doesn't have pairs (util/hist.c:942).
Sorry about the major thinko: hists__add_dummy_entry() returns a new `he' with he->dummy set; it has nothing to do with pair->pairs of the `pair' that it is passed.
I think I understand what's going on: I'll submit a new iteration soon.
| |