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

> I've been working on a new copyin/copyout/kcopy that's significantly
> better in some caching modes on the XScale and slightly better in
> others.

I've just run lmbench with the old and new (including my LDM/STM changes)
code, on each of my three CPUs.  I seem to be having problems with the
ctxsw benchmark, so the results aren't complete, but they're still
interesting.  "old" is the current code; "new" is Allen's with my hacks.:


                 L M B E N C H  2 . 0   S U M M A R Y
                 ------------------------------------


Basic system parameters
----------------------------------------------------
Host                 OS Description              Mhz

--------- ------------- ----------------------- ----
ARM610.ol   NetBSD 1.6E      acorn32-netbsd1.6E   30
ARM610.ne   NetBSD 1.6E      acorn32-netbsd1.6E   30
ARM710a.o   NetBSD 1.6E      acorn32-netbsd1.6E   40
ARM710a.n   NetBSD 1.6E      acorn32-netbsd1.6E   40
SA-110.ol   NetBSD 1.6E      acorn32-netbsd1.6E  233
SA-110.ne   NetBSD 1.6E      acorn32-netbsd1.6E  233

Processor, Processes - times in microseconds - smaller is better
----------------------------------------------------------------
Host                 OS  Mhz null null      open selct sig  sig  fork exec sh
                             call  I/O stat clos TCP   inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
ARM610.ol   NetBSD 1.6E   30 16.1 401. 1029 974. 2761. 435. 696. 32.K 128K 217K
ARM610.ne   NetBSD 1.6E   30 15.4 200. 723. 981. 2201. 46.6 296. 32.K 123K 194K
ARM710a.o   NetBSD 1.6E   40 12.0 252. 781. 695. 1956. 257. 469. 27.K 105K 172K
ARM710a.n   NetBSD 1.6E   40 12.2 123. 502. 724. 1679. 33.8 146. 26.K 102K 160K
SA-110.ol   NetBSD 1.6E  233 2.19 18.4 123. 32.5 483.3 24.2 790. 17.K 52.K 86.K
SA-110.ne   NetBSD 1.6E  233 2.19 8.70 23.4 57.9 462.8 7.42 595. 17.K 50.K 83.K

Context switching - times in microseconds - smaller is better
-------------------------------------------------------------
Host                 OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
                        ctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw
--------- ------------- ----- ------ ------ ------ ------ ------- -------
ARM610.ol   NetBSD 1.6E
ARM610.ne   NetBSD 1.6E
ARM710a.o   NetBSD 1.6E
ARM710a.n   NetBSD 1.6E
SA-110.ol   NetBSD 1.6E
SA-110.ne   NetBSD 1.6E

*Local* Communication latencies in microseconds - smaller is better
-------------------------------------------------------------------
Host                 OS 2p/0K  Pipe AF     UDP  RPC/   TCP  RPC/ TCP
                        ctxsw       UNIX         UDP         TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----
ARM610.ol   NetBSD 1.6E       1874. 2444             4962.       20.K
ARM610.ne   NetBSD 1.6E       1254. 1667             4193.       19.K
ARM710a.o   NetBSD 1.6E       1492. 2130             4418.       15.K
ARM710a.n   NetBSD 1.6E       1114. 1527             4125.       15.K
SA-110.ol   NetBSD 1.6E       2074. 2189             3525.       4205
SA-110.ne   NetBSD 1.6E       1525. 1751             3123.       8461

File & VM system latencies in microseconds - smaller is better
--------------------------------------------------------------
Host                 OS   0K File      10K File      Mmap    Prot    Page
                        Create Delete Create Delete  Latency Fault   Fault
--------- ------------- ------ ------ ------ ------  ------- -----   -----
ARM610.ol   NetBSD 1.6E                                12.5K  37.9   15.3K
ARM610.ne   NetBSD 1.6E                                12.3K  67.6   15.6K
ARM710a.o   NetBSD 1.6E                               9416.0  32.8   14.7K
ARM710a.n   NetBSD 1.6E                               9205.0  47.6   15.0K
SA-110.ol   NetBSD 1.6E                               2497.0  29.4   14.7K
SA-110.ne   NetBSD 1.6E                               2642.0  43.6   15.2K

*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------
Host                OS  Pipe AF    TCP  File   Mmap  Bcopy  Bcopy  Mem   Mem
                             UNIX      reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----
ARM610.ol   NetBSD 1.6E 5.15 1.45 1.10 3.7800   14.0   16.5   10.9 14.0  24.1
ARM610.ne   NetBSD 1.6E 10.1 2.12 1.88 6.2200   14.0   16.6   10.9 14.0  24.2
ARM710a.o   NetBSD 1.6E 6.76 1.68 1.55 4.6600   17.1   16.7   12.4 17.1  24.4
ARM710a.n   NetBSD 1.6E 10.3 2.34 2.25 6.8800   17.1   16.7   12.4 17.1  24.5
SA-110.ol   NetBSD 1.6E 9.93 1.86 3.61 9.9100   39.4   22.6   16.6 39.0  24.6
SA-110.ne   NetBSD 1.6E 10.8 2.10 4.05   11.1   39.0   22.7   16.6 39.0  24.7

Memory latencies in nanoseconds - smaller is better
    (WARNING - may not be correct, check graphs)
---------------------------------------------------
Host                 OS   Mhz  L1 $   L2 $    Main mem    Guesses
--------- -------------  ---- ----- ------    --------    -------
ARM610.ol   NetBSD 1.6E    30     -      -           -    Bad mhz?
ARM610.ne   NetBSD 1.6E    30     -      -           -    Bad mhz?
ARM710a.o   NetBSD 1.6E    40     -      -           -    Bad mhz?
ARM710a.n   NetBSD 1.6E    40     -      -           -    Bad mhz?
SA-110.ol   NetBSD 1.6E   233     -      -           -    Bad mhz?
SA-110.ne   NetBSD 1.6E   233     -      -           -    Bad mhz?

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