2003-09-10 02:52:37

by Con Kolivas

[permalink] [raw]
Subject: [PATCH]O20.1int

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


Attachments:
(No filename) (253.00 B)
patch-O20-O20.1int (0.99 kB)
Download all attachments

2003-09-10 04:29:26

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH]O20.1int

Con Kolivas <[email protected]> wrote:
>
> Credit. Is this too bold?

No. Thanks for all your work on this.

2003-09-10 16:36:58

by Cliff White

[permalink] [raw]
Subject: Re: [PATCH]O20.1int

> 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,
Patch is in STP PLM as # 2120.
One request - would you mind uploading future patches into PLM, since
you're already an associate? (http://www.osdl.org/plm-cgi/plm)
It's a real simple Web form, and would get the code on the test machines
a bunch quicker.
thanks
cliffw

>
> 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) \
>