Subject: new mips cache performance
To: None <port-mips@netbsd.org>
From: Simon Burge <simonb@wasabisystems.com>
List: port-mips
Date: 11/19/2001 01:00:36
I've tried a simple benchmark of building a pmax kernel three times in a
row with kernels built both pre-merge and post-merge of the mips cache
branch (using the "2001-11-14 18:00:00 UTC" and "2001-11-15 12:20:00
UTC" date tags).  The post-merge figures were slightly worse (about 30
seconds slower over an hourish build).  At Jason's suggestion, I removed
the check for an L2 cache in the __mco_noargs and __mco_2args macros
in <mips/cache.h> so that it always called the L2 cache ops and that
shaved about 108 seconds off the average benchmark time making it about
75 seconds quicker than a pre-merge kernel.

The tests were run on a DECsystem 5000/260 (R4400 at 60MHz, 16k L1
Icache, 16k L1 Dcache and 1MB L2 cache, 192MB RAM) with source and
kernel compile directory on local disk, using a GENERIC kernel that
has both the MIPS1 and MIPS3 options.

Here's the raw figures (the command was "tcsh -c 'time make -k -j6'")

before merge:
	3308.998u 452.407s 1:05:05.03 96.3%     0+0k 30+15345io 322pf+0w
	3307.293u 448.739s 1:04:56.47 96.3%     0+0k  0+15138io   0pf+0w
	3302.831u 450.191s 1:04:57.38 96.2%     0+0k  0+15196io   0pf+0w

	average		   1:04:59.63

after merge:
	3324.266u 507.568s 1:05:37.88 97.3%     0+0k 23+15242io 340pf+0w
	3322.390u 509.892s 1:05:31.36 97.4%     0+0k  0+15376io  19pf+0w
	3316.657u 509.196s 1:05:28.35 97.3%     0+0k  1+15322io  31pf+0w

	average		   1:05:32.36

after merge (with no "if scache check" in <mips/cache.h>)
	3203.414u 513.482s 1:03:47.59 97.1%     0+0k 31+15039io 343pf+0w
	3205.807u 510.222s 1:03:42.27 97.2%     0+0k  0+15041io  22pf+0w
	3208.838u 511.063s 1:03:43.31 97.2%     0+0k  0+15057io  22pf+0w

	average		   1:03:44.39


Simon.
--
Simon Burge                            <simonb@wasabisystems.com>
NetBSD CDs, Support and Service:    http://www.wasabisystems.com/