aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_event.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-12-03 16:24:32 -0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-12-04 22:56:11 -0200
commit614b6780eb0c393d2fb49ff62d61f29b877bd07e (patch)
tree6c366435b7960dfa84f5592486a2fad8f4526205 /kernel/perf_event.c
parente4b546a3643fbfc510d5ef7db538e4d3ab00effb (diff)
downloadkernel_samsung_espresso10-614b6780eb0c393d2fb49ff62d61f29b877bd07e.zip
kernel_samsung_espresso10-614b6780eb0c393d2fb49ff62d61f29b877bd07e.tar.gz
kernel_samsung_espresso10-614b6780eb0c393d2fb49ff62d61f29b877bd07e.tar.bz2
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>
Diffstat (limited to 'kernel/perf_event.c')
-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 aede712..7961b27 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);