X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f Date: Mon, 20 Dec 2004 22:00:41 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-ID: <01c4e6ce$Blat.v2.2.2$be0d2340@zahav.net.il> Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=ISO-8859-1 X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 2.2.2 In-reply-to: <41c5fcca.sandmann@clio.rice.edu> (message from Charles Sandmann on Sun, 19 Dec 2004 16:12:26 CST) Subject: Re: DMA and PIO (was Re: Problems with timer interrupt chaining and SmartDrv) References: <01c4e368$Blat.v2.2.2$592f6a00 AT zahav DOT net DOT il> <41c5fcca DOT sandmann AT clio DOT rice DOT edu> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Charles Sandmann > Date: Sun, 19 Dec 2004 16:12:26 CST > > Try this test. Open task manager so you can monitor CPU usage. Using the > default DMA, read a 500MB file from disk. Using a modern disk this should > take less than 10 seconds and use no more than 2-3 percent of the CPU. What program does one use to read a file, but otherwise do nothing? I used a native Windows port of GNU wc, which does some simple and usually insignificant processing with the file it reads, and it took it 20 seconds to read a 750MB file, using 20% of CPU. This is on a 2.8GHz XP box, FWIW. (And yes, "My Computer" does show that DMA is being used, so sorry for spreading disinformation.) I didn't try to reboot with PIO. By contrast, on a 450MHz Pentium II MMX running Windows 98, where the (bus-mastering) disk controller uses something called "dual fifo" instead of DMA, reading a 515MB file via wc took 180 seconds (and the CPU usage went through the roof). That's a factor of 13 for a sixfold increase in CPU speed (but I think that we should compare PCI bus speed, not CPU speed) -- shouldn't a decent DMA speed things up much more?