Re: Voluntary Preemption + concurent games

Nick Piggin
2004-07-12T13:35:46Z

Aivils wrote:
> Hi All!
>
> I still use in my home minicomputer under Linux, where
> 3 users use one CPU/RAM , but own video.
> By default 2.6.XX task scheduler don' t like concurent applications
> at all. 2.6.XX task scheduler allways raise on top of tasks only one
> task and keep it on top until user stop it.
> This rule is very unwanted for minicomputers, because multile
> local users will use one CPU and feel lucky.
>

The CPU scheduler in 2.6 does a lot of special casing in order
to boost interactivity. This can cause weird behaviour and
imbalances like you are seeing when multiple things are running.

> As point of reference i use 2.4.XX tack scheduler, which is very
> "righteous" and allways give CPU time for all tasks. Under 2.4.XX
> concurent games run smooth.
>
> 2.6.XX non-preemptive and 2.6.XX voluntary-preemptive task
> scheduling looks very similar. My gamer' s eye report me very
> thiny and very subjective difference - preferable is voluntary-preemtive.
> Anyway all concurent CPU intensive tasks should be started with
> nice -n +19 game-bin . Any other nice value remake one of
> running game to slide show or both running games became slide show.
>
> So we should start any game with nice +19. In is this set goes in
> netscape and konqueror because of java web-chat and games.
>
> At least voluntary-preemptive allow me move away from 2.4.26
>

2.6's CPU scheduler gives nice +19 tasks shorter timeslices, so you
are effectively giving everything better latency.

I have a patchset for 2.6 with some scheduler changes that you might
like to try, here: http://www.kerneltrap.org/~npiggin/2.6.7-np8/, and
let me know how it goes if you do try it. If you need any help getting
it going, please email me privately.