From owner-freebsd-questions Thu Jun 17 9:57:13 1999 Delivered-To: freebsd-questions@freebsd.org Received: from cygnus.rush.net (cygnus.rush.net [209.45.245.133]) by hub.freebsd.org (Postfix) with ESMTP id 7CF6B150CE for ; Thu, 17 Jun 1999 09:57:08 -0700 (PDT) (envelope-from bright@rush.net) Received: from localhost (bright@localhost) by cygnus.rush.net (8.9.3/8.9.3) with SMTP id MAA03711; Thu, 17 Jun 1999 12:57:07 -0400 (EDT) Date: Thu, 17 Jun 1999 11:57:05 -0500 (EST) From: Alfred Perlstein To: mike@hyperreal.org Cc: freebsd-questions@FreeBSD.ORG Subject: Re: Optimizing IDE performance revisited In-Reply-To: <19990617163819.14715.qmail@hyperreal.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Thu, 17 Jun 1999 mike@hyperreal.org wrote: > OK, from posts here and on the newsgroup, and the 'wd' man page, I found > that flags 0xb0ffb0ff were sufficient to enable the kernel to use an IDE > controller's 32-bit transfer, bus mastering, LBA addressing and > multi-sector transfer capabilities: > > controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0xb0ffb0ff > > I saw a reference on the newsgroup to the fact that FreeBSD 3.0 and up > supports "PIO".. I've looked at the source in /sys/i386/isa/wd.c and only > saw one reference to PIO as some kind of fallback. > > My controller is capable of PIO mode 3 (11.1 MB/s in theory). No info about DMA > modes. My question is: is this as optimized as it can be, or no? I haven't > really noticed an improvement, is why I ask. > > > FWIW, > I've tried a couple of benchmark programs from the ports collection. > > IOZONE reports 1.8 MB/s write and 5.5 MB/s read for a 25 MB file. > > Bonnie reports 1.8 MB/s write (char), 2.8 MB/s write (block), 4.4 MB/s read > (char), 14.9 MB/s read (block), for a 100 MB file. Enabling PIO or DMA doesn't do all that much for transfer rate, however it offloads a lot of work from the CPU. Before I enabled DMA on my boxes, during heavy compiles top showed about 50% or more CPU devoted to "interupt" (processing hardware IO) when i switched to DMA it went to under 1% :) PIO probably isn't as drastic, but can probably spare you mucho cycles. if you want to see raw read performance try this: dd if=/dev/rwd0 of=/dev/null bs=512 count=1000 -----^^^^^^^^^^ | raw device for your harddisk. -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message