From: stephane eranian on
On Wed, Jun 16, 2010 at 4:52 PM, Peter Zijlstra <peterz(a)infradead.org> wrote:
> On Wed, 2010-06-16 at 16:40 +0200, Stephane Eranian wrote:
>> This leads me to another point. For per-thread sampling, why
>> do we need to record mmap() events happening *outside* of
>> the process? I can understand the exception of kernel modules.
>
> How does that happen? The per-thread events should be on the per-task
> context, so another task's mmap() events should never end up there.
>

I don't see the test that says the vma does not belong to the current task.
I also don't see anything in perf_event_mmap_match().

It does seem to work as you said in recent kernels, though. So I am certainly
missing something here.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: stephane eranian on
On Wed, Jun 16, 2010 at 6:41 PM, stephane eranian
<eranian(a)googlemail.com> wrote:
> On Wed, Jun 16, 2010 at 4:52 PM, Peter Zijlstra <peterz(a)infradead.org> wrote:
>> On Wed, 2010-06-16 at 16:40 +0200, Stephane Eranian wrote:
>>> This leads me to another point. For per-thread sampling, why
>>> do we need to record mmap() events happening *outside* of
>>> the process? I can understand the exception of kernel modules.
>>
>> How does that happen? The per-thread events should be on the per-task
>> context, so another task's mmap() events should never end up there.
>>
>
> I don't see the test that says the vma does not belong to the current task.
> I also don't see anything in perf_event_mmap_match().
>
> It does seem to work as you said in recent kernels, though. So I am certainly
> missing something here.
>
I think I got it now. It's all based on the current->perf_event_ctxp.
So you only
look at the events (and thus sampling buffers) attached to current which issued
the mmap().

I found out that my problem is coming from perf creating synthetic
mmap() entries
for everything it finds in /proc/PID.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/