I'm using (ok, still...) a RH 6.2 system with kernel 2.2.14, with RAID1
enabled. Under heavy disk load, the systen has a latency of up to 700
milliseconds. This harms my "almost-real-time" applications.
After I unsuccessfully tried all usual system tunings (hdparm...), and
some low-latency patches kernel too, I decided to modify the IDE
driver. The problem was due to an "interrupt burst" that keeps the CPU
busy for a while. My patch defers the IDE interrupt handling by activating
a kernel thread that actually does the job. It works...
You can find the patch (for kernel 2.2.14) here:
http://www.geocities.com/giusguerrini/linux/llide-patch.txt
Note that the kernel thread has a "SCHED_FIFO" scheduling policy, and a
real-time priority of 10. So, only processes of "real-time" class and
priority greater than 10 take advantage of it. Anyway, you can simply
change the policy to "SCHED_OTHER" in function "ide_thread".
Note also that this is a quite drastic solution, that makes the disk
slower, and the CPU load greater (slightly).
Comments are appreciated.
Regards,
Giuseppe Guerrini
giusguerrini@racine.ra.it (HOME)
guerrini@cnisrl.it (WORK)
P.S. Please CC to "giusguerrini@racine.ra.it", because I'm not subscribed
to the list. Thank you.
-
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/