Re: high system cpu load during intense disk i/o

From: Rafał Bilski
Date: Sun Aug 05 2007 - 16:09:16 EST


Hello and thanks for your reply.
Hi,
The cron job that is running every 10 min on my system is mpop (a fetchmail-like program) and another running every 5 min is mrtg. Both normally finish within 1-2 seconds.

The fact that these simple cron jobs don't finish ever is certainly because of the high system CPU load. If you see the two_discs_bad.txt which I attached on my original message, you'll see that *vmlinux*, and specifically the *scheduler*, take up most time.

And the fact that this happens only when running two i/o processes but when running only one everything is absolutely snappy (not at all slow, see one_disc.txt), makes me sure that this is a kernel bug. I'd be happy to help but I need some guidance to pinpoint the problem.
OK, but first can You try to fix Your cron daemon? Just make sure that if mpop is already started it won't be started again. Maybe something like "pgrep mpop" and "if [ $?". I don't remember exactly, but some time ago somebody had problem with to large disk buffers and sync(). Check LKML archives. MPOP is doing fsync().
You have VIA chipset. Me too. It isn't very reliable. Don't You have something like "error { d0 BUSY }" in dmesg? This would explain high CPU load. Simply DMA isn't used after such error and disk goes to PIO mode. On two disk system load is about 4.0 in this case. Simple program takes hours to complete if there is havy I/O in progress. Btw. SLUB seems to behave better in this situation (at least up to 8.0).
Thanks, Dimitris
Regards
Rafał


----------------------------------------------------------------------
Dowiedz sie, co naprawde podnieca kobiety. Wiecej wiesz, latwiej je
oczarujesz

http://link.interia.pl/f1b17

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/