Re: Context switch times

Alan Cox
2001-10-05T22:24:12Z

> Let me see if I have this right. Task priority goes to max on any (?)
> sleep regardless of how long. And to min if it doesn't sleep for some
> period of time. Where does the time slice counter come into this, if at
> all?
>
> For what its worth I am currently updating the MontaVista scheduler so,
> I am open to ideas.

The time slice counter is the limit on the amount of time you can execute,
the priority determines who runs first.

So if you used your cpu quota you will get run reluctantly. If you slept
you will get run early and as you use time slice count you will drop
priority bands, but without pre-emption until you cross a band and there
is another task with higher priority.

This damps down task thrashing a bit, and for the cpu hogs it gets the
desired behaviour - which is that the all run their full quantum in the
background one after another instead of thrashing back and forth