Re: [PATCH 1/5] perf tools: Count filtered entries to total period also

From: Namhyung Kim
Date: Mon Jan 27 2014 - 00:31:15 EST


On Thu, 23 Jan 2014 14:21:00 +0100, Jiri Olsa wrote:
> On Thu, Jan 23, 2014 at 08:28:49AM +0900, Namhyung Kim wrote:
>> Currently if a sample was filtered by command line option, it just
>> dropped. But this affects final output in that the percentage can be
>> different since the filtered entries were not included to the total.
>>
>> But user might want to see the original percentages when filter
>> applied so change the behavior depends on a new symbol_conf.filter_
>> relative value in order to be controlled by user later.
>>
>> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx>
>
> SNIP
>
>> +++ b/tools/perf/util/hist.h
>> @@ -14,6 +14,13 @@ struct hist_entry;
>> struct addr_location;
>> struct symbol;
>>
>> +enum hist_filter {
>> + HIST_FILTER__DSO,
>> + HIST_FILTER__THREAD,
>> + HIST_FILTER__PARENT,
>> + HIST_FILTER__SYMBOL,
>> +};
>
> in thread__find_addr_map we still have:
> ...
> if ((cpumode == PERF_RECORD_MISC_GUEST_USER ||
> cpumode == PERF_RECORD_MISC_GUEST_KERNEL) &&
> !perf_guest)
> al->filtered = true;
> if ((cpumode == PERF_RECORD_MISC_USER ||
> cpumode == PERF_RECORD_MISC_KERNEL) &&
> !perf_host)
> al->filtered = true;
> ...
>
> seems like we need HIST_FILTER__GUEST|HOST
>
> also in machine__resolve_callchain_sample there's old (and superfluos) init:
> ...
> al.filtered = false;
> thread__find_addr_location(thread, machine, cpumode,
> MAP__FUNCTION, ip, &al);
> ...

Both seems to need to be changed - will fix.

Thanks,
Namhyung
--
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/