From owner-freebsd-current Wed Jul 30 13:00:51 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id NAA29533 for current-outgoing; Wed, 30 Jul 1997 13:00:51 -0700 (PDT) Received: from Octopussy.MI.Uni-Koeln.DE (Octopussy.MI.Uni-Koeln.DE [134.95.166.20]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id NAA29513 for ; Wed, 30 Jul 1997 13:00:43 -0700 (PDT) Received: from x14.mi.uni-koeln.de (annexr3-2.slip.Uni-Koeln.DE) by Octopussy.MI.Uni-Koeln.DE with SMTP id AA20131 (5.67b/IDA-1.5 for ); Wed, 30 Jul 1997 22:00:40 +0200 Received: (from se@localhost) by x14.mi.uni-koeln.de (8.8.6/8.6.9) id WAA12751; Wed, 30 Jul 1997 22:00:38 +0200 (CEST) X-Face: " Date: Wed, 30 Jul 1997 22:00:38 +0200 From: Stefan Esser To: Andrew Gallatin Cc: freebsd-current@FreeBSD.ORG Subject: Re: code talks: announcing EIDE bus master patches References: <19970729210723.18104@mi.uni-koeln.de> <199707291949.VAA00271@sos.freebsd.dk> <19970729221036.52544@mi.uni-koeln.de> <199707301924.PAA08936@hurricane.cs.duke.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.74 In-Reply-To: <199707301924.PAA08936@hurricane.cs.duke.edu>; from Andrew Gallatin on Wed, Jul 30, 1997 at 03:24:54PM -0400 Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Jul 30, Andrew Gallatin wrote: > Speaking of PIO vs. DMA, an interesting data point is the bandwidth > differences between PIO & DMA. > > For example, on a 200Mhz P. Pro (Asus XP6NP5, Intel 82440FX chipset) > we can use PIO to move an 8k chunks of memory to a PCI device(*) at a > rate of 29.1 MB/sec, but using PIO for reads gives us bandwidth of > only 8.1MB/sec. Other platforms (Intel Triton @ 13MB/sec) show > similar results. However, using DMA we see b/w of 114.4MB/sec (host > -> PCI device) and 121.5 MB/sec (PCI -> host memory). Is this PIO to an I/O port, or to a memory mapped port ? But in any case: In order to use PCI burst transfers, you have to write to sequential memory addresses, e.g. to some double-mapped SRAM buffer. PCI is slow, if you can't take advantage of burst transfers! > So.. if IDE disks can really supply data at > 8MB/sec, you may > actually be running into a b/w limitation of PIO. If you assume 8 PCI clocks for a non-burst transfer, the limit comes out as 16MB/s. (The minimum is 4 clocks for such a transfer, but don't assume your chip-set does support that :) > (*) PCI device == a Myrinet M2F-PCI32 card. This is a programmable > gigabit networking card. It has a 256k bank of SRAM on the card, and > is very good for doing things like measuring PCI b/w. The tests were > done from user space operating on mmap'ed device memory & a kernel > allocated chunk of RAM to do DMA xfers to/from. It also runs IP > traffic at better than 300Mb/sec. This was a memory mapped device buffer ? That's *very* different from an I/O port, and you should be able to copy data to that SRAM at a much higher rate than 8 or 13MB/s! Regards, STefan