lkml.org 
[lkml]   [2003]   [Jul]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] O6.1int
Date
The bug in the O6int patch probably wasn't responsible for WIktor's problem 
actually. It shouldn't manifest for a very long time. Anyway here is the fix
and a couple of minor cleanups.

--- linux-2.6.0-test1-mm1/kernel/sched.c 2003-07-17 11:24:54.000000000 +1000
+++ linux-2.6.0-testck1/kernel/sched.c 2003-07-17 11:59:01.000000000 +1000
@@ -78,7 +78,7 @@
#define STARVATION_LIMIT (10*HZ)
#define SLEEP_BUFFER (HZ/100)
#define NODE_THRESHOLD 125
-#define MAX_BONUS (40 * PRIO_BONUS_RATIO / 100)
+#define MAX_BONUS (MAX_USER_PRIO * PRIO_BONUS_RATIO / 100)

/*
* If a task is 'interactive' then we reinsert it in the active
@@ -390,8 +390,6 @@ static inline void activate_task(task_t
long sleep_time = jiffies - p->last_run - 1;

if (sleep_time > 0) {
- unsigned long runtime = jiffies - p->avg_start;
-
/*
* Tasks that sleep a long time are categorised as idle and
* will get just under interactive status with a small runtime
@@ -402,6 +400,11 @@ static inline void activate_task(task_t
p->sleep_avg = MIN_SLEEP_AVG * (MAX_BONUS - INTERACTIVE_DELTA - 2) /
MAX_BONUS;
} else {
+ unsigned long runtime = jiffies - p->avg_start;
+
+ if (runtime > MAX_SLEEP_AVG)
+ runtime = MAX_SLEEP_AVG;
+
/*
* This code gives a bonus to interactive tasks.
*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:46    [W:2.400 / U:0.008 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site