Messages in this thread | | | Date | Sat, 8 May 1999 09:15:14 +1000 | From | Richard Gooch <> | Subject | Re: Overscheduling DOES happen with high web server load. |
| |
Greg Lindahl writes: > > > Ok, you are right. The real problem is we are calculating goodness > > > O(A*B). > > > > > > A= Number of processes on the runqueue > > > B= Number of times schedule is called > > > > Don't underestimate the cost of searching the run queue. Put 10 > > processes on the run queue and you more than double the cost of > > schedule() to another process. For 90+ tasks on the run queue, the > > cost is dominated by the linear search. > > You are violently agreeing with Phil. The linear cost of searching the > run queue is represented by A in his expression. That was the point of > my little hack, which was to always take the first schedulable process > in the queue, merely to see if that made life much better. And it > seems to.
Maybe I didn't express myself clearly. I thought his (or someone's) point was the cost of goodness() calculations dominated, the implication being that reducing the cost of goodness() would speed things up a lot. While true, the cost of scanning the task structures is also high. But in essence, I agree with Phil.
Someone else suggested that the cost was in all those context switches, which I dispute. Switching state is relatively cheap. And this was my point (and as you say, Phil's too).
Regards,
Richard....
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |