perf: Fix running time accounting
authorPeter Zijlstra <peterz@infradead.org>
Mon, 27 Jul 2015 08:35:07 +0000 (10:35 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 27 Jul 2015 11:52:19 +0000 (13:52 +0200)
commit00a2916f7f82c348a2a94dbb572874173bc308a3
treeec5cf352c1cb61b944a9e6c2e969489441370f09
parentcbfe8fa6cd672011c755c3cd85c9ffd4e2d10a6f
perf: Fix running time accounting

A recent fix to the shadow timestamp inadvertly broke the running time
accounting.

We must not update the running timestamp if we fail to schedule the
event, the event will not have ran. This can (and did) result in
negative total runtime because the stopped timestamp was before the
running timestamp (we 'started' but never stopped the event -- because
it never really started we didn't have to stop it either).

Reported-and-Tested-by: Vince Weaver <vincent.weaver@maine.edu>
Fixes: 72f669c0086f ("perf: Update shadow timestamp before add event")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: stable@vger.kernel.org # 4.1
Cc: Shaohua Li <shli@fb.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/events/core.c