Re: [PATCH 2/9] perf tools: Count periods of filtered entries separately

From: Namhyung Kim
Date: Tue Mar 18 2014 - 00:19:37 EST


On Tue, Mar 18, 2014 at 5:08 AM, Arnaldo Carvalho de Melo
<acme@xxxxxxxxxxxxxxxxxx> wrote:
> Em Mon, Mar 10, 2014 at 04:43:53PM +0900, Namhyung Kim escreveu:
>> @@ -749,9 +750,6 @@ int perf_event__preprocess_sample(const union perf_event *event,
>> if (thread == NULL)
>> return -1;
>>
>> - if (thread__is_filtered(thread))
>> - goto out_filtered;
>> -
>
> What was the intent of moving this test from here...
>
>> dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid);
>> /*
>> * Have we already created the kernel maps for this machine?
>> @@ -766,6 +764,10 @@ int perf_event__preprocess_sample(const union perf_event *event,
>>
>> thread__find_addr_map(thread, machine, cpumode, MAP__FUNCTION,
>> sample->ip, al);
>> +
>> + if (thread__is_filtered(thread))
>> + al->filtered |= (1 << HIST_FILTER__THREAD);
>> +
>
> ... to here? At first I thought it was because thread__is_filtered()
> would check something that thread__find_addr_map() was doing, but no,
> its invariant, we can do it here or at the original site, so I'm keeping
> it there, ok?

It's because thread__find_addr_map() clears al->filtered, so filtering
with -d option won't work. Maybe we can move initialization of the
al->filtered upto this function.

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/