From owner-freebsd-hardware Sat Apr 18 23:55:10 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA26542 for freebsd-hardware-outgoing; Sat, 18 Apr 1998 23:55:10 -0700 (PDT) (envelope-from owner-freebsd-hardware@FreeBSD.ORG) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA26532 for ; Sun, 19 Apr 1998 06:55:07 GMT (envelope-from bde@godzilla.zeta.org.au) Received: (from bde@localhost) by godzilla.zeta.org.au (8.8.7/8.8.7) id QAA23558; Sun, 19 Apr 1998 16:52:34 +1000 Date: Sun, 19 Apr 1998 16:52:34 +1000 From: Bruce Evans Message-Id: <199804190652.QAA23558@godzilla.zeta.org.au> To: bde@zeta.org.au, mark@vmunix.com, mike@smith.net.au Subject: Re: best wdc0 flags ? Cc: hardware@FreeBSD.ORG Sender: owner-freebsd-hardware@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >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