Re: mozilla+XFree86+Linux-2.1.x => HARD LOCKUP (addition)

Jamie Lokier (lkd@tantalophile.demon.co.uk)
Wed, 9 Dec 1998 15:02:17 +0000


On Tue, Dec 08, 1998 at 09:02:43PM +0100, Michel Aubry wrote:
> In my point of view, vp2 is fully compliant with the driver,( although I
> never tested it!). In fact nobody never complained!

I have no complaints about via82c586.c either. But it doesn't fix the
occasional lockups, or change the timings. hdparm -X34 does fix the
lockups (for me, not everyone), with or without the driver.

> I am quite sure that this chipset is udma compliant (have a look at
> http://www.via.com.tw/products/prodvp2.htm ... I don't see any reason why
> it doesn't work. fifo setup has nothing to do with that.

Yes, it does mention "Ultra DMA/33" support so it _ought_ to work :-)
The BIOS may not set up everything properly though.

> How do you run it (which is your processor speed? I saw misbehavior with
> early versions of 586b south bridge while running cpu speed > 66mhz!).

AMD K6/233, CPU bus speed 66MHz, PCI bus speed 33MHz.

> In fact, I don't figure what your misbehavior might be (the title stands
> "mozilla+XFree86+Linux-2.1.x => HARD LOCKUP (addition)". Is this meaning
> that these difficulties occur while heavily loading the system?

The thread has drifted. It was possibly about DMA lockups and the sound
driver, due to a VIA chipset bug. Now we've moved on to IDE lockups
that happen from time to time. (An older problem than the via82c586.c
driver, which I had hoped fixed the problem).

The thing about lockups still applies. I have been getting lockups with
_all_ versions of 2.1.x that I've tried (since 2.1.70 or so) if I turn
on DMA for the drive. Linux used to turn it on by default, but doesn't
any more.

Based on someone's inspiring post, I tried hdparm -X34 -d1, and now I
get DMA without lockups. I know it doesn't work for everyone.

This is not UDMA though. The drive is a Quantum FB ST 6.4G, that claims
to do UDMA. The kernel messages reveal that the drive is reporting UDMA
capability, but the BIOS has not enabled UDMA.

No amount of hdparm -X66, or no hdparm at all etc. changes the read
timings. hdparm -t reports approx 9.28 MB/sec with DMA, about half that
with PIO. It's pretty fast, I'm not complaining about the speed.

I would like the CRC checking that UDMA is supposed to add though,
because I don't want to be silently writing bogus data to my disk.

> Could you send me a copy of your "cat /proc/ide/via" or so, and a copy of
> boot and error messages, please?

I'm using 2.1.131. There is no /proc/ide/via here, via82c586.c is
compiled in, and running.

1. Boot messages:

Linux version 2.1.131 (root@tantalophile) (gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)) #66 Sun Dec 6 21:50:35 GMT 1998
Detected 233870607 Hz processor.
Console: colour VGA+ 132x50
Calibrating delay loop... 466.94 BogoMIPS
Memory: 63356k/65536k available (720k kernel code, 408k reserved, 996k data, 56k init)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: AMD K6 (PR166 - PR266) stepping 01
Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
Checking 'hlt' instruction... OK.
AMD K6 stepping B detected - <6>K6 BUG 9009538 20000000 (Report these if test report is incorrect)
AMD K6 stepping B detected - probably OK (after B9730xxxx).
Please see http://www.mygale.com/~poulot/k6bug.html
POSIX conformance testing by UNIFIX
PCI: PCI BIOS revision 2.10 entry at 0xfda81
PCI: Probing PCI hardware
Swansea University Computer Society NET3.039 for Linux 2.1
NET3: Unix domain sockets 0.16 for Linux NET3.038.
Swansea University Computer Society TCP/IP for NET3.037
IP Protocols: ICMP, UDP, TCP
Initializing RT netlink socket
Starting kswapd v 1.5
matroxfb: Matrox Millennium II (PCI) detected
matroxfb: MTRR's turned on
matroxfb: 640x480x8bpp (virtual: 640x6528)
matroxfb: framebuffer at 0xFD000000, mapped to 0xc4805000, size 4194304
Console: switching to colour frame buffer device 80x30
fb0: MATROX VGA frame buffer device
Serial driver version 4.26 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.7)
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: not 100ative mode: will probe irqs later
ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:DMA, hdb:DMA
ide0: VIA Bus-Master (U)DMA Timing Config Success
ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:pio, hdd:pio
ide1: VIA Bus-Master (U)DMA Timing Config Success
hda: QUANTUM FIREBALL ST6.4A, ATA DISK drive
hdc: CD-524E, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: QUANTUM FIREBALL ST6.4A, 6149MB w/81kB Cache, CHS=784/255/63
hdc: ATAPI 24X CDROM drive, 128kB Cache
Uniform CDROM driver Revision: 2.50
Partition check:
hda: hda1 hda2 hda4 < hda5 hda6 hda7 >
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 56k freed
Adding Swap: 104384k swap-space (priority -1)

Note the (U)DMA timing config success. I think that means the drive
supports UDMA (and reports it), but the BIOS hasn't enabled it and Linux
isn't going to try.

2. Output of lspci:

00:00.0 Host bridge: VIA Technologies, Inc. VT82C595/97 [Apollo VP2/97] (rev 03)
00:07.0 ISA bridge: VIA Technologies, Inc. VT82C586 ISA [Apollo VP] (rev 25)
00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 06)
00:07.2 USB Controller: VIA Technologies, Inc. 82C586_2 [VT82C586B USB] (rev 02)
00:09.0 VGA compatible controller: Matrox Graphics, Inc. MGA 2164W [Millennium II]

3. There are no error messages.
Just occasional _total_ lockups.
Except that hdparm -X34 fixes them for me (but not everyone),
and so does turning off DMA.

4. Also interesting is the output of hdparm (the hdparm-3.3-2 from RH5.2):

See how the _initial_ drive configuration (hdparm -i) does not have the
-X34 mode set, but (I presume) one of the extended modes that this
version of hdparm-3.3 doesn't report. (If I wasn't so lazy and there
was an hdparm-3.4 RPM I'd tell you which one).

[root@tantalophile linux]# hdparm -I /dev/hda

/dev/hda:

Model=UQNAUT MIFERABLLS 6T4. A , FwRev=0A.F4000, SerialNo=51762146
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=13328/15/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=3(DualPortCache), BuffSize=81kB, MaxMultSect=16, MultSect=16
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
CurCHS=13328/15/63, CurSects=12594960, LBA=yes, LBAsects=12594960
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1 *mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4

[root@tantalophile linux]# hdparm -i /dev/hda

/dev/hda:

Model=QUANTUM FIREBALL ST6.4A, FwRev=A0F.0400, SerialNo=15671264
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=13328/15/63, TrkSize=32256, SectSize=512, ECCbytes=4
BuffType=3(DualPortCache), BuffSize=81kB, MaxMultSect=16, MultSect=16
DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
CurCHS=13328/15/63, CurSects=12594960, LBA=yes, LBAsects=12594960
tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1 mword2
IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4

-- Jamie

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