summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorIngo Molnar <mingo@redhat.com>2004-10-05 02:44:44 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-10-05 02:44:44 -0700
commit00a87a388cd7be2261d2bcc6ecc045d8681a5138 (patch)
treef3415c2a5224d4bf9f1f2c0b5363651d88fa08e5 /include/linux
parent90b1f609a769ec5c4b4c116eeeafdee12c16bf6f (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.h2
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;