aboutsummaryrefslogtreecommitdiff
path: root/process/do_process.cpp
diff options
context:
space:
mode:
authorArjan van de Ven <arjan@linux.intel.com>2010-08-16 09:45:14 -0400
committerArjan van de Ven <arjan@linux.intel.com>2010-08-16 09:45:14 -0400
commit74dc5686015fd48b2eebc48d4bff60e643e59653 (patch)
tree02149d584db9459782f62fdbe9fad9b32716f4c5 /process/do_process.cpp
parent31004d80f66e813a8a5610bdaa9dc7cee36f4958 (diff)
downloadpowertop-74dc5686015fd48b2eebc48d4bff60e643e59653.tar.gz
fix accounting error where kondemand/ running in the middle of a cpu
execution range would get accounted as a wakeup for the next guy... ... which isn't fair.
Diffstat (limited to 'process/do_process.cpp')
-rw-r--r--process/do_process.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/process/do_process.cpp b/process/do_process.cpp
index 6710d10..610f5a1 100644
--- a/process/do_process.cpp
+++ b/process/do_process.cpp
@@ -120,10 +120,10 @@ void perf_process_bundle::handle_trace_point(int type, void *trace, int cpu, uin
/* start new process */
from_idle = 0;
- if (!old_proc)
- from_idle = 1;
- if (old_proc && old_proc->is_idle) {
+ if (!old_proc) {
from_idle = 1;
+ if (new_proc->is_idle)
+ return;
}
new_proc->schedule_thread(time, sw->next_pid, from_idle);