Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Con Kolivas <> | Subject | [PATCH]O20.1int | Date | Wed, 10 Sep 2003 13:00:20 +1000 |
| |
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) \ | ![\](/images/icornerr.gif) |