Subject: Re: copyin/out
To: Allen Briggs <briggs@wasabisystems.com>
From: Ben Harris <bjh21@netbsd.org>
List: port-arm
Date: 08/11/2002 00:20:11
On Thu, 8 Aug 2002, Allen Briggs wrote:

> With this, I'm seeing copyout run at about 63MB/s on a simple test
> (dd if=/dev/zero of=/dev/null count=1024 bs=1024k).

I've tried that same test with the new and old code on each of the three
types of CPU I've got for my Risc PC:

ARM610, 30 MHz, 4KB unified cache:
before: 1073741824 bytes transferred in 206.649 secs (5195969 bytes/sec)
after:  1073741824 bytes transferred in 92.540 secs (11603002 bytes/sec)

ARM710a, 40 MHz, 8KB unified cache:
before: 1073741824 bytes transferred in 148.135 secs (7248400 bytes/sec)
after:  1073741824 bytes transferred in 48.377 secs (22195295 bytes/sec)

SA-110, 233 MHz, 16KB I-cache, 16KB D-cache:
before: 1073741824 bytes transferred in 50.537 secs (21246647 bytes/sec)
after:  1073741824 bytes transferred in 43.931 secs (24441552 bytes/sec)

FWIW, the memory bus of the Risc PC runs at 16 MHz, so the theoretical
maximum speed is less than 32 MB/s.  I might try some experiments with
shorter transfers tomorrow, and perhaps with less loop unrolling on the
ARM610.  It looks like the new code should work on arm26 as well, but for
some reason I'm getting spurious segfaults there even without it, so I
need to fix those first.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/acorn26           <URL:http://www.netbsd.org/Ports/acorn26/>