Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 1997 15:24:54 -0400 (EDT)
From:      Andrew Gallatin <gallatin@CS.Duke.EDU>
To:        Stefan Esser <se@FreeBSD.ORG>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: code talks:  announcing EIDE bus master patches
Message-ID:  <199707301924.PAA08936@hurricane.cs.duke.edu>
In-Reply-To: <19970729221036.52544@mi.uni-koeln.de>
References:  <19970729210723.18104@mi.uni-koeln.de> <199707291949.VAA00271@sos.freebsd.dk> <19970729221036.52544@mi.uni-koeln.de>

next in thread | previous in thread | raw e-mail | index | archive | help

Stefan Esser writes:
 > 
 > Yes, one thing that is often underestimated is the fact, 
 > that while PIO mode transfers consume only a small fraction
 > of the cycles of a fast CPU, but they tend to consume them
 > exactly at the time, when the CPU is highly loaded anyway.


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).

So.. if IDE disks can really supply data at > 8MB/sec, you may
actually be running into a b/w limitation of PIO.

(*) 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.

I suppose this is as good a time to ask as any: I have a FreeBSD
driver 95% done for Myrinet cards such as this.  Who can I talk to
about the possibility of getting it committed to -current?  There are
some sticky issues that may prevent its inclusion (specifically
GPL'ed libraries that are required to communicate w/the vendor
supported "firmware" that runs on the card & which I cannot think of a
clean way to build).

Drew

------------------------------------------------------------------------------
Andrew Gallatin				http://www.cs.duke.edu/~gallatin
Duke University				Email:		gallatin@cs.duke.edu
Department of Computer Science		Phone:		(919) 660-6590




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