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/>