*BSD News Article 7048


Return to BSD News archive

Path: sserve!manuel.anu.edu.au!munnari.oz.au!uunet!math.fu-berlin.de!mailgzrz.TU-Berlin.DE!ceres.fokus.gmd.de!gmdtub!bigfoot!tmh
From: tmh@bigfoot.first.gmd.de (Thomas Hoberg)
Newsgroups: comp.unix.bsd
Subject: Re: ISA/DMA in 386BSD
Message-ID: <TMH.92Oct26024615@bigfoot.first.gmd.de>
Date: 26 Oct 92 01:46:15 GMT
References: <BILL.92Oct24005633@kepler.ucsd.edu> <1992Oct25.044504.29339@ntuix.ntu.ac.sg>
Sender: news@bigfoot.first.gmd.de
Organization: GMD-FIRST, Berlin
Lines: 35
In-reply-to: eoahmad@ntuix.ntu.ac.sg's message of 25 Oct 92 04:45:04 GMT

In article <1992Oct25.044504.29339@ntuix.ntu.ac.sg> eoahmad@ntuix.ntu.ac.sg (Othman Ahmad) writes:
   There used to be a long discussion on this topic in comp.os.minix because the
   minix driver does not use DMA?
	   Personally I do not like DMA. With 486/25 , memory copy is faster than
   DMA, and it does not have the memory limitation problem.

The reason why Adaptec for example chose DMA for their SCSI host
adapters wasn't transfer speed but "intelligence", the intelligence
being the host adapters ability to "batch" multi sector i/o without
having to resort to extra memory on the controller. The "batch scripts"
or "channel programs" (IBM mainframe blue speak) are read via DMA and
data is transferred that way, too. The main gain is a lower interrupt
rate. With WD1002 compatible devices (MFM/RLL/ESDI/IDE) there is an
interrupt for every 512 bytes transferred. Modern IDE drives do up to
1.6MB/sec which translates to 3200 interrupts/sec. Under DOS this
doesn't matter (single tasking, little interrupt overhead). Under a
multi-tasking OS things are a bit different (esp. UNIX).
DMA on a PC motherboard is done with chips dating back to the 8080 era
(1976/8-bit) and the throughput is likewise, which is why companies
like Adaptec chose to implement their own DMA on the adapter (bus
mastering DMA). The throughput there is limited only by ISA bus
bandwidth and that bandwidth isn't easily saturated by a disk drive.
I have never tested the penalty involved with the extra copy for disk
transfers beyond 16MB on an ISA system (I only have 16MB), but it's a
penalty added only to disk transfers. Disk transfers should be avoided
as much as possible anyway. Todays disks simply are no match for
today's processors any more and if your system starts paging, you
better get more memory.
---
Thomas M. Hoberg   | Internet: tmh@first.gmd.de
1000 Berlin 41     |           tmh@cs.tu-berlin.de
Wielandstr. 4      |
Germany            | BITNET:   tmh@tub.bitnet 
+49-30-851-50-21   |