LWN.net Logo

O20.1int

From:  Con Kolivas <kernel@kolivas.org>
To:  linux kernel mailing list <linux-kernel@vger.kernel.org>
Subject:  [PATCH]O20.1int
Date:  Wed, 10 Sep 2003 13:00:20 +1000
Cc:  Andrew Morton <akpm@osdl.org>

Should be the last of the O1int patches.

Tiny tweak to keep top two interactive levels round robin at the fastest 
(10ms) which keeps X smooth when another interactive task is also using 
bursts of cpu (eg web browser).

Credit. Is this too bold?

Con
--- linux-2.6.0-test5-mm1-O20/kernel/sched.c	2003-09-10 11:15:45.000000000 +1000
+++ linux-2.6.0-test5-mm1/kernel/sched.c	2003-09-10 11:51:38.000000000 +1000
@@ -14,6 +14,7 @@
  *		an array-switch method of distributing timeslices
  *		and per-CPU runqueues.  Cleanups and useful suggestions
  *		by Davide Libenzi, preemptible kernel bits by Robert Love.
+ *  2003-09-03	Interactivity tuning by Con Kolivas.
  */
 
 #include <linux/mm.h>
@@ -122,12 +123,12 @@
 		MAX_SLEEP_AVG)
 
 #ifdef CONFIG_SMP
-#define TIMESLICE_GRANULARITY(p) \
-	(MIN_TIMESLICE * (1 << (MAX_BONUS - CURRENT_BONUS(p))) * \
-		num_online_cpus())
+#define TIMESLICE_GRANULARITY(p)	(MIN_TIMESLICE * \
+		(1 << (((MAX_BONUS - CURRENT_BONUS(p)) ? : 1) - 1)) * \
+			num_online_cpus())
 #else
-#define TIMESLICE_GRANULARITY(p) \
-	(MIN_TIMESLICE * (1 << (MAX_BONUS - CURRENT_BONUS(p))))
+#define TIMESLICE_GRANULARITY(p)	(MIN_TIMESLICE * \
+		(1 << (((MAX_BONUS - CURRENT_BONUS(p)) ? : 1) - 1)))
 #endif
 
 #define SCALE(v1,v1_max,v2_max) \

Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds