perf record: Encode the domain while synthesizing MMAP events
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 15 Jan 2010 01:45:28 +0000 (23:45 -0200)
committerIngo Molnar <mingo@elte.hu>
Sat, 16 Jan 2010 09:58:48 +0000 (10:58 +0100)
commit18c3daa4961b9fa1f2db0711d93c0acf0c39fd12
tree03169979a334fa753e740d4638d62f9747ba3f72
parentcf4e5b0838e822dd404638ad00d35b63fffe8191
perf record: Encode the domain while synthesizing MMAP events

In the past 'perf record' had to process only userspace MMAP
events, the ones generated in the kernel, but after we reused
the MMAP events to encode the module mapings we ended up adding
them first to the list of userspace DSOs (dsos__user) and to the
kernel one (dsos__kernel).

Fix this by encoding the header.misc field and then using it,
like other parts to decide the right DSOs list to insert/find.

The gotcha here is that since the kernel puts zero in .misc,
which isn't PERF_RECORD_MISC_KERNEL (1 << 1), to differentiate,
we put 1 in .misc.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1263519930-22803-2-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/builtin-record.c
tools/perf/util/event.c