*BSD News Article 23961


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!osuunx.ucc.okstate.edu!moe.ksu.ksu.edu!hobbes.physics.uiowa.edu!math.ohio-state.edu!cs.utexas.edu!uunet!EU.net!sunic!trane.uninett.no!nac.no!news.eunet.no!nuug!dkuug!login.dkuug.dk!sos
From: sos@login.dkuug.dk (S|ren Schmidt)
Subject: Re: [FreeBSD1.0] Disk-lite hang
Message-ID: <sos.753356936@login.dkuug.dk>
Sender: news@diana.dknet.dk
Nntp-Posting-Host: login.dkuug.dk
Organization: DKnet
References: <2c7f9b$ht8@gyro.dynas.se>
Date: Mon, 15 Nov 1993 09:48:56 GMT
Lines: 60

goran@dynas.se (G|ran Hammarb{ck) writes:

>Two weeks ago I decided to change from 386bsd pl2.4 to FreeBSD1.0,
>mainly to run XFree2.0.  Now I'm beginning to wonder if this was
>such a great idea after all.  My system (described below) which
>worked with 386bsd now hangs with the disk-lamp lit at random
>times (much too often) when doing disk i/o.  The only change I
>made to the system when switching to FreeBSD was to use my Maxtor
>7213 200 MB disk as the only disk.  It used to be my secondary disk.

>It seems only processes accessing the disk are hung.  The machine
>hangs quite often, usually during heavy disk I/O, but it has been
>known to hang when emacs does an auto-save and nothing else was
>using the disk.  This makes the system slightly less than useless.
>If someone has a patch for this I would be very grateful.

This is a "well known" problem with IDE disks, I have patches for both
NetBSD & FreeBSD that fixes this problem.
I'll dig them out and mail them to you, or post them if demand is great enough.
A similar solution was posted some time ago here one these newsgroups.
Basically its because the interrupt from the disk gets lost, and from then
on all disk access hangs.
The interrupt speedup code currently in *BSD made this worse, that's why
you didn't see it on 386BSD.

>My system:
>    33 MHz 486DX, 8MB RAM, 128kB external cache, AMI BIOS
>    1 Brand X serial/parallel/IDE controller
>    1 Brand X wd90c31 graphics controller
>    1 Sounblaster clone sound card
>    1 Maxtor 7213 2mm MB IDE disk

>Things I have tried:
>    1) Using the alternate kernel (386bsd.altwd) from FreeBSD.cdrom.com - no luck
>    2) Using a different IDE controller - no
>    3) Slowing down the ISA bus - no
>    4) Disabling external cache - no
>    5) Disabling internal cache - possibly
>    6) Running system in 6MHz - seems to work

>The only things that seems to work are 5 and 6.  In case 5, I just tried
>a few minutes, but it survived things that hung the machine in the first 4
>cases (starting a compile and emacs using X).  6 worked a whole afternoon
>(this probably makes the ISA bus slower and disables chaching as well).
>The problem is that both 5 and 6 makes the machine painfully slow...

>Judging from the above results I would guess there is a timing problem
>in the disk-driver code for at least some IDE controllers.  Unfortunately
>my diskspace is limited, so I don't have the FreeBSD and 386bsd source
>online, so I have not been able to compare the codes for the disk-driver.

>Any help with this problem is appreciated.

>Thanks,
>Goran Hammarback

>  E-mail: goran@dynas.se

                                           Soeren Schmidt
                                           sos@login.dkuug.dk