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

Michel Aubry (giovanni@sudfr.com)
Wed, 9 Dec 1998 16:30:34 +0100 (MET)


On Wed, 9 Dec 1998, Jamie Lokier wrote:

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

the fact is that we don't change any timing for your drive... This could
be done

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

see further...

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

Is this to say that your bios has no "select UDMA" or so capability???
Is your motherboard an old one? (that was not udma compliant).


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

you should edit via82c586.c , uncomment or add a
"#define DISPLAY_VIA_TIMINGS"
and recompile your kernel...

All this could come from that your bios is not udma compliant. This could
be easily checked while reading your "/proc/ide/via" entries....

You ought to know that linux kernel via patch requires your bios to be
udma compliant. If not, all you can do safely is run it dma only!

> 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.
-> if you enabled (u)dma enabled by default at boot time, you
should get udma at boot time (try a hdparm -tT /dev/hda as a first
command!).

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

this one is not running udma!

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

this one is running udma!

You should consider running a newer hdparm version to display udma
capabilities of your drives.

Try to send me a /proc/ide/via copy to check your timings...

cheers.
Michel Aubry.

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