Re: [PATCH] sched.c: Be a bit more conservative in SMP

Ludovic Drolez
2006-09-20T07:43:02Z

Antonio Vargas wrote:
> A variant on this theme would be (not tested or somewhat, just a
> random idea for considering):
>
> 1. find if the process is a cpu-hog, if not then ignore
>
> 2. find somehow how much time has this process on it's current cpu
>
> 3. then, instead of always substracting 1 from th current load on the
> current cpu, substract for example 1...0 when running from 0 to 60
> seconds... this way cpu hogs would only rotate slowly?
>
> in code:
>
> number_to_sub_from_queue_load = (256 - min(256,
> time_from_last_change_of_cpu)) >> 8;
>
> somehow managing to get fixedpoint loadlevels on the runqueues would
> make this work better....
>

Yes ! That might be a better idea !
In fact, I tested the 1st patch on our cluster (Finite elements computing on 8
CPUs):
- Under Windows: 875 seconds
- Linux 2.6.16 : 1019 s
- Linux 2.6.16 + manual taskset : 842 s
- Linux 2.6.16 + Vincent's patch : 1373 s :-(

If you find time to write a patch, Antonio, I would be pleased to try it !

Cheers,

--
Ludovic DROLEZ
http://lrs.linbox.org - Free asset management software