On 7/6/07, Alan Cox alan@redhat.com wrote:
On Fri, Jul 06, 2007 at 04:55:47PM -0400, Colin Walters wrote:
Possibly, but I think the biggest speedup by far is the disk caching/reorganization that both Windows and OS X do: http://www.kernelthread.com/mac/apme/optimizations/
At this rate though, we might all be using solid state drives before the kernel developers stop pointing at userspace as the problem and implement it for Linux.
We already lay stuff out very carefully and precache. Unfortunately most of the mess *is* userspace and some of the userspace authors are in complete denial. Just profile the number of file opens of different files done in a gnome startup and when you've finished laughing you can weep.
Years ago I sent the gnome team a library that could load and linearlly map the entire theme in about 3 syscalls coming out nicely on disk. They never used it.
That isn't to say the kernel is perfect and there is a ton of optimising work still going on, different scheduling algorithms and the like but most of the slowness is from user space - some from tools, some from combinations of tools and kernel (eg linker and paging patterns) and a lot of it from sheer stupid clueless design of applications and especially of GUI libraries.
Speaking from my many days as a performance analyst, Pfeifer's first rule of performance says "The only good I/O is one you don't do".
I'll second Alan here. The OS can mitigate the effects of I/O but userspace has the onus to be reasonable.
darrell