Re: [BUG?] SIS IDE DMA errors

From: Måns Rullgård
Date: Fri Sep 26 2003 - 13:06:39 EST


Vojtech Pavlik <vojtech@xxxxxxx> writes:

>> > Actually, it's me who wrote the 961 and 963 support. It works fine for
>> > most people. Did you check you cabling?
>>
>> I'm dealing with a laptop, but I suppose I could wiggle the cables a
>> bit. I still doubt it's a cable problem, since reading works
>> flawlessly.
>
> Hmm, that's indeed interesting and it'd point to a driver problem -

See, I told you :)

> when reading, the drive is dictating the timing, but when writing, it's
> the controllers turn.
>
> So if the controller timing is not correctly programmed, reads function,
> but writes don't.

Furthermore, short writes work just fine. The errors usually start
happening after about 100 MB at full speed. When copying from NFS
over a 100 MB/s network it usually goes a little longer, sometimes
even up to 500 MB. All this could indicate that there is some error
in the timing, and that it takes some time for it build up enough to
trigger the bad things. Or am I wrong?

Why can't the drive give notice when it's ready to accept more data?
That would seem like the simple solution, instead of trying to
synchronize the timers.

> Can you send me the output of 'lspci -vvxxx' of the IDE device?
> I'll take a look to see if it looks correct.

Here you go:

00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) (prog-if 80 [Master])
Subsystem: Asustek Computer, Inc.: Unknown device 1688
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 128
Region 4: I/O ports at b800 [size=16]
00: 39 10 13 55 07 00 00 00 d0 80 01 01 00 80 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 01 b8 00 00 00 00 00 00 00 00 00 00 43 10 88 16
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 31 81 00 00 31 85 00 00 08 01 e6 51 00 02 00 02
50: 01 00 01 06 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


>> It appears to me that during heavy IO load, some DMA interrupts get
>> lost, for some reason.
>
> Well, I've got this feeling that not just IDE interrupts get lost under
> heavy IO load with recent kernels ...

Like mouse and keyboard...

--
Måns Rullgård
mru@xxxxxxxxxxxx
-
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/