The current interactivity booster heuristic does appear to work very well - I
did an A/B comparison with 2.4.x a while back, and 2.5 is distinctly better.
But it is a heuristic, and it will inevitably make mistakes. The problem
which I am observing is that the cost of those mistakes is very high.
I believe that we should recognise that no heuristic will be 100% accurate,
and that we should seek to minimise the impact of those 0.1%-of-the time
mistakes which it will make. Perhaps by just dropping the max timeslice??
Let me redescribe the problem:
- Dual 850MHz PIII, 900M of RAM.
- Start a `make -j3 vmlinux', everything in pagecache
- Start using X applications. Moving a window about is the usual trigger.
Everything goes happily for a while, and then blam. Windows get stuck for
0.5-1.0 seconds, the mouse pointer gets so laggy that it is uncontrollable,
etc. The fix is to put your hands in your pockets for 5-10 seconds and wait
for the scheduler to notice that the X server is idle.
Interestingly, this does not happen if the background load is a bunch of
busywaits. It seems to need the fork&exit load of a compilation to trigger.
Robert was able to reproduce this, and noticed that the scheduler had niced
the X server down as far as it would go.
I'm a pretty pathological case, because I was driving two 1600x1200x24
displays with a crufty old AGP voodoo3 and a $2 PCI nvidia. Am now using a
presumably less crufty radeon and the problem persists.
But last time I tested Ingo's interactivity patch things were a lot better.
I shall retest his latest now.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/