[PATCH] O13.1int

From: Con Kolivas (kernel@kolivas.org)
Date: Mon Aug 04 2003 - 19:17:55 EST


A heck of a lot fairer on disk only tasks; lets them earn sleep avg up to just
interactive state so they stay on the active array.

Con

--- linux-2.6.0-test2-mm4-O13/kernel/sched.c 2003-08-05 10:08:15.000000000 +1000
+++ linux-2.6.0-test2-mm4-O13.1/kernel/sched.c 2003-08-05 09:58:55.000000000 +1000
@@ -584,13 +584,16 @@ repeat_lock_task:
                                 goto repeat_lock_task;
                         }
                         if (old_state == TASK_UNINTERRUPTIBLE){
+ rq->nr_uninterruptible--;
                                 /*
                                  * Tasks on involuntary sleep don't earn
- * sleep_avg
+ * sleep_avg beyond just interactive state.
                                  */
- rq->nr_uninterruptible--;
- p->timestamp = sched_clock();
- p->activated = -1;
+ if (NS_TO_JIFFIES(p->sleep_avg) >=
+ JUST_INTERACTIVE_SLEEP(p)){
+ p->timestamp = sched_clock();
+ p->activated = -1;
+ }
                         }
                         if (sync)
                                 __activate_task(p, rq);

-
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/



This archive was generated by hypermail 2b29 : Thu Aug 07 2003 - 22:00:25 EST