diff options
| author | Ingo Molnar <mingo@redhat.com> | 2004-10-05 02:44:44 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-10-05 02:44:44 -0700 |
| commit | 00a87a388cd7be2261d2bcc6ecc045d8681a5138 (patch) | |
| tree | f3415c2a5224d4bf9f1f2c0b5363651d88fa08e5 /include/linux | |
| parent | 90b1f609a769ec5c4b4c116eeeafdee12c16bf6f (diff) | |
[PATCH] Fix task_hot() balancing
This fixes the integer underflow in task_hot() noticed by Kenneth W Chen
and makes use of p->last_ran to separate load-balancing timestamps (used
by task_hot()) from interactivity timestamps. (which two interfered)
compiled, booted on x86 SMP.
Confirmed by Kenneth Chen <kenneth.w.chen@intel.com> to fix the db
transaction processing workload that showed the balancing problem.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/sched.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index f5d4b9cae523..90f5cb645116 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -449,7 +449,7 @@ struct task_struct { unsigned long sleep_avg; long interactive_credit; - unsigned long long timestamp; + unsigned long long timestamp, last_ran; int activated; unsigned long policy; |
