]> git.karo-electronics.de Git - mv-sheeva.git/commit
perf: Fix throttle logic
authorPeter Zijlstra <a.p.zijlstra@chello.nl>
Tue, 15 Feb 2011 21:26:07 +0000 (22:26 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 16 Feb 2011 12:25:29 +0000 (13:25 +0100)
commit4fe757dd48a9e95e1a071291f15dda5421dacb66
tree9981eaf986d477d096cdb0388e0f95a80eeb2c38
parent7d44ec193d95416d1342cdd86392a1eeb7461186
perf: Fix throttle logic

It was possible to call pmu::start() on an already running event. In
particular this lead so some wreckage as the hrtimer events would
re-initialize active timers.

This was due to throttled events being activated again by scheduling.
Scheduling in a context would add and force start events, resulting in
running events with a possible throttle status. The next tick to hit
that task will then try to unthrottle the event and call ->start() on
an already running event.

Reported-by: Jeff Moyer <jmoyer@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/perf_event.c