Subject: Performance improvement. (was Re: CVS commit: syssrc/sys)
To: None <port-arm32@netbsd.org>
From: Chris Gilbert <chris@paradox.demon.co.uk>
List: port-arm32
Date: 01/19/2002 17:02:07
Note I'd recommend anyone running a kernel since 1.5Y update to the following 
change.  The performance difference on cats is rather large, and certainly 
noticeable, timing is of doing a configure of gmake:

15Y:
16.7u 40.5s 1:15.35 76.0% 0+0k 19+1541io 237pf+0w
15Z:
84.8u 41.7s 2:27.03 86.0% 0+0k 19+1653io 232pf+0w
current this morning:
85.1u 42.3s 2:27.61 86.3% 0+0k 19+1650io 228pf+0w
current with above changes:
16.8u 38.6s 1:14.25 74.6% 0+0k 26+1559io 233pf+0w

This returns performance is back to what it used to be before we did the 
right thing with cache.

Note it'll take a while to filter out to anoncvs.

Thanks to chuq for sorting this out.

Cheers,
Chris

On Saturday 19 January 2002 4:55 pm, you wrote:
> Module Name:	syssrc
> Committed By:	chs
> Date:		Sat Jan 19 16:55:23 UTC 2002
>
> Modified Files:
> 	syssrc/sys/arch/arm/include/arm32: pmap.h
> 	syssrc/sys/uvm: uvm_bio.c
>
> Log Message:
> add a new flag PMAP_CACHE_VIVT for the pmap to inform the MI code that
> that the cache is virtually-indexed and virtually-tagged (such as on the
> ARM), and use this flag in the UBC code to be more friendly to those
> caches.
>
> To generate a diff of this commit:
> cvs rdiff -r1.19 -r1.20 syssrc/sys/arch/arm/include/arm32/pmap.h
> cvs rdiff -r1.22 -r1.23 syssrc/sys/uvm/uvm_bio.c