Re: [CFT][PATCH] new scheduler policy

Haoqiang Zheng
2003-09-08T15:10:53Z

Alan Cox wrote:

>You have to know the dependancies for the entire system, its nearly
>impossible to do. Once you have the apps also waiting for each other and
>for direct communications (eg via a database or a shared service) life
>gets fun.
>
>
If we assume the priority of a remote process is the same as its local
priority (local p->prio), I think something can still be done.
Let's make up an example first. Assume we have two machines A and B. P1
runs at machine A while P2,P3 run at machine B. P2 is the database
server. In this case, I think the priority inversion problem can be
solved iff:
1. P2 (the database server) handles requests according to the clients
priority.
2. P2 inherits the priority of its current client (client with the
highest priority).

>For local apps one thing that has been suggested and some microkernels
>have played with is a syscall that basically is "send this message and
>donate the rest of my timeslice to.."
>
>
>
In the additional syscall based approach, the applications have to be
re-written and the application developers have to know exactly where the
timeslice should be denoted to. This is not usually feasible. On the
other hand, everything is done automatically and transparently in the
approach I suggested.