Re: [PATCH v2 3/5] perf diff: generalize hpp__color_delta for -c

From: Ramkumar Ramachandra
Date: Wed Nov 27 2013 - 06:03:06 EST


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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/