summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner2010-12-03 19:24:32 +0100
committerArnaldo Carvalho de Melo2010-12-05 01:56:11 +0100
commit614b6780eb0c393d2fb49ff62d61f29b877bd07e (patch)
tree6c366435b7960dfa84f5592486a2fad8f4526205
parentMerge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/acm... (diff)
downloadkernel-qcow2-linux-614b6780eb0c393d2fb49ff62d61f29b877bd07e.tar.gz
kernel-qcow2-linux-614b6780eb0c393d2fb49ff62d61f29b877bd07e.tar.xz
kernel-qcow2-linux-614b6780eb0c393d2fb49ff62d61f29b877bd07e.zip
perf events: Fix event inherit fallout of precalculated headers
The precalculated header size is not updated when an event is inherited. That results in bogus sample entries for all child events. Bug introduced in c320c7b. Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ian Munsie <imunsie@au1.ibm.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> LKML-Reference: <alpine.LFD.2.00.1012031245220.2653@localhost6.localdomain6> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--kernel/perf_event.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index aede71245e9f..7961b27aceea 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -6099,6 +6099,11 @@ inherit_event(struct perf_event *parent_event,
child_event->overflow_handler = parent_event->overflow_handler;
/*
+ * Precalculate sample_data sizes
+ */
+ perf_event__header_size(child_event);
+
+ /*
* Link it up in the child's context:
*/
raw_spin_lock_irqsave(&child_ctx->lock, flags);