Serverworks CSB5 IDE-DMA Problem (2.4 and 2.6)

From: Stefan Kaltenbrunner
Date: Tue Oct 07 2003 - 11:22:31 EST


Hello!

we have a bunch of IBM x305 here which are entrylevel 1HE servers based on a Serverworks CSB5 chipset.
One of those has 2 120GB IDE disks in a software RAID1 and the main userspace-application is a heavly (mostly insert/update) used postgresql-database. The database generates a lot of sustained IO-traffic and after some minutes (depends on the load - sometimes it even works for one or two hours) the kernel generates the following messages(2.4.22 and 2.6.0-test6 behave almost identically - error-messages are from 2.6.0-test6):


hdc: dma_timer_expiry: dma status == 0x20
hdc: DMA timeout retry
hdc: timeout waiting for DMA
hdc: status timeout: status=0xd0 { Busy }

hdc: drive not ready for command
ide1: reset: success
hdc: dma_timer_expiry: dma status == 0x20
hdc: DMA timeout retry
hdc: timeout waiting for DMA
hdc: status timeout: status=0xd0 { Busy }

hdc: drive not ready for command
ide1: reset: success
hdc: dma_timer_expiry: dma status == 0x20
hdc: DMA timeout retry
hdc: timeout waiting for DMA
hdc: status timeout: status=0xd0 { Busy }

hdc: drive not ready for command
ide1: reset: success
hdc: dma_timer_expiry: dma status == 0x20
hdc: DMA timeout retry
hdc: timeout waiting for DMA
hdc: status timeout: status=0xd0 { Busy }

hdc: drive not ready for command
ide1: reset: success
hda: dma_timer_expiry: dma status == 0x60
hda: DMA timeout retry
hda: timeout waiting for DMA
hda: status timeout: status=0xd0 { Busy }

hdb: DMA disabled
hda: drive not ready for command
ide0: reset: success
blk: queue dfdee200, I/O limit 4095Mb (mask 0xffffffff)
hda: dma_timer_expiry: dma status == 0x20
hda: DMA timeout retry
hda: timeout waiting for DMA
hda: status timeout: status=0xd0 { Busy }

hda: drive not ready for command
ide0: reset: success
hda: dma_timer_expiry: dma status == 0x20
hda: DMA timeout retry
hda: timeout waiting for DMA
hda: status timeout: status=0xd0 { Busy }

hda: drive not ready for command
ide0: reset: success


after one of this events DMA on one of the disks (either hdc or hda) gets disabled and the maschine is heavily overloaded and the database cannot keep up any more with the incoming load of database-updates.
It's also worth mentioning that the kernel reports a "DMA disabled" only for hdb which is the internal cd-drive and completely unused.

I do know that Serverworks IDE has been flaky (especially with the CSB4) in the past but I thought this had been fixed in newer chipset-revisions - is there anything I can do to solve this problem?

dmesg of the machine in question can be found at http://www.kaltenbrunner.cc/files/dmesg.txt



many thanks

Stefan Kaltenbrunner

-
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/