Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Apr 1998 16:52:34 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, mark@vmunix.com, mike@smith.net.au
Cc:        hardware@FreeBSD.ORG
Subject:   Re: best wdc0 flags ?
Message-ID:  <199804190652.QAA23558@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>Damn.. I just tried doing a
>	dd if=/dev/rwd0 of=/dev/null bs=1m count=1280
>
>My machine quite literaly came to a standstill while this transfer
>took place. I could not deliver a single keystroke to the thing, and
>a telnet attempt just hung on the "Connected" part without presenting
>an acualy login. Benchmark finished, machine came back to life
>like nothing happened. Load was over 20. It's like the dd monopolized
>all interupts or something? Note that a dd with if=/dev/wd0 behaved
>"normally".. only the rwd0 reading caused hell.

A fast wd drive in a slow PIO mode can consume almost all of the CPU
cycles.  The slowest mode is PIO 0 or 1 (3.3 MB/sec), but your drive
wants to transfer almost 10MB/sec on the outer tracks.  You apparently
have the BIOS configured in this mode.  /dev/wd0 probably only works
better because copying the data from the buffer cache to user space gives
the system time to breathe.  First, non-wd interrupts can do something
while the data is being copied.  Second, the copying time is counted
as system time instead of interrupt time, so scheduling works better
and other applications may run.  Transferring 1MB at a time at only
3MB/sec from a disk supplying 10MB/sec should take about 1/3 second,
during which time timeout interrupts are blocked and any active tty
and network interrupt handlers are suspended (nested tty and network
interrupts will be processed but won't affect applications).

>I'm pretty sure that the FireBall SE should be just as fast (or faster)
>than the FireBall ST, and the P166 should be able to max it out at
>9MB/s or so like you are seeing.

It's too fast for most PIO modes.  Use PIO mode 4 (16.6 MB/sec) if
possible.  

>Any ideas what's going wrong here?

Your BIOS is misconfigured or only supports slow PIO modes.  I use AUTO
mode and checked that this gave 16.6MB/sec by looking at `systat -vmstat'
(interrupt overhead should be about 10/16.6 * 100% for a 10 MB/sec drive).
My BIOS also supports PIO modes 0, 1, 2, 3 and 4.  The 10MB firehose
swamps at least PIO modes 0 and 1.

Bruce

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804190652.QAA23558>