System slows down upon heavy HDD or CD-ROM I/O operations

1. Problem

Whenever I copy big files around on my HDD’s, or writing a CD, or just doing cat /dev/zero /dev/null, the system slows down sensibly.

2. Research

Some people have suggested it has to do with my motherboard’s VIA chipset (KT266A) and inadequate drivers for it in the kernel.

It’s not the famous “forgot to activate DMA” pitfall.

I’ve looked for various tricks to speed things up and increase system responsiveness. I’m hoping kernel 2.6 will bring an improvement, but I can’t switch from 2.4 just yet.

3. Solution

Patching 2.4.20 and adding preemptible kernel support improved things somewhat. As far as CD writing is concerned, at some point X-CD-Roast provided an advanced option called “set the SCSI-IMMED flag”, which may have also helped some.

Short of upgrading the motherboard or changing the kernel to 2.6, that’s all for now.

3.1. Later update:

I’ve changed motherboard, from a VIA to an nForce chipset. I’ve also switched to a 2.6 kernel in the meantime. Both these things helped. Other useful things: upgrade the HDD’s to newer ones with more RPM’s and better performance; use 80pin HDD cables; spread out the HDD’s and CDROM’s around the IDE controllers, use an ATA expansion PCI card if you wish to get more controllers. Ideally, all storage units should be alone on a controller, those who share a controller will hinder each other. If you have a CDROM or writer, put it on another controller even if you must put 2 HDD’s together on the other.

But keep in mind that you’ll never bring CPU usage to rock bottom during operations involving IDE. That’s how this whole ATA thing works. Get SCSI if you can afford it. No idea how serial ATA performs in this respect.