303 - Linux-2-6-Kernel-Impressions

In day to day use, the 2.6 kernel does seem more responsive. Applications I haven’t used in a while don’t take much time to redraw; with 2.4 they used to take a few seconds — I’d assume this was waiting for the kernel to schedule them in. 2.6 kernels have a new scheduler that gives more priority to I/O bound programs.

I/O bound programs are typically found on desktops. Most desktop programs wait for user input (via I/O). As user input comes at a far slower rate than a computer works, they typically are asleep for long periods with short bursts of reactions to user input. The kernel gives these applications high priority because they are likely to be either waiting for I/O (and so not be available to run) or they are going to do a small amount of processing before going back to sleep again. This means that giving them a higher priority than other programs is very unlikely to severly impact the system as they do not require much processor time.

This scheduling model means that when you go to an old application and it has to redraw itself, the program is scheduled to draw far earlier under the 2.6 kernel than in the 2.4 kernel. This means it starts drawing faster and hence the desktop appears more responsive. All in all, the system feels faster, which is important for a system in desktop use.

Aside from this change, I haven’t noticed much else. I’d like to add HAL code and the gnome-volume-manager, which utilise much of the new 2.6 kernel features to make the desktop smoother and easier. Both of them, however, require dbus which is not in the Gentoo stable-type branch yet. More on these things when I can use and so explore them more.