Subject: Recent pmap changes
To: None <port-arm32@netbsd.org>
From: Chris Gilbert <chris@paradox.demon.co.uk>
List: port-arm32
Date: 08/11/2001 14:49:50
Just so people are aware of what's been done to the pmap I thought I'd list
them here:
Improved locking (not that we actually use it on a uniprocessor, but one day
:)
vac_me_harder now handles multi-mapped pages, if any of the mappings are
writable they're all marked as not cacheable. (diff from richard E)
Removed unneeded splvm's
tweaked pmap_clean_page code to only flush the cache if the page is mapped in
the current pmap (based on diff from richard E)
Adopted pv entry allocation mechanism from i386.
Layed goundwork for returning ptp's when we've finished with them rather than
holding onto them till the process exits.
ptp's are now allocated with a uvm object for the pmap, means that we can
walk a list to free them off in pmap_release.
Basically it's faster than it was a while back, doing a time make configure
on gmake now gives (with DIAGNOSTICS):
19.1u 41.8s 1:16.58 79.6% 0+0k 22+198io 199pf+0w
compared with 1.5.1 kernel from ftp.netbsd.org (note this is probably unfair
as we've also got UBC etc now, but still it's what ppl will compare against):
17.8u 44.4s 1:25.75 72.6% 0+0k 491+756io 695pf+0w
So overall -current is looking to be about 10% faster than 1.5.x is,
interesting to note that current does less page faults and io.
Really we should find some kind of benchmark thats more accurate than this.
Cheers,
Chris