Subject: Re: pmap tweak sanity check
To: Jason R Thorpe <thorpej@wasabisystems.com>
From: Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk>
List: port-arm
Date: 11/12/2002 21:25:19
> On Tue, Nov 12, 2002 at 04:15:25PM -0000, Chris Gilbert wrote:
> 
>  > An optimisation I've just thought of, is it worth adding flags to the
>  > pvh_attrs field of the vm_page_md stuff that indicates that all entries in
>  > this vm_page list are readonly and therefore all cacheable?  that way when
>  > we add a new readonly pv to the list we don't have to walk the list, we
>  > just add it in.
> 
> I'd use counters -- a flag might require a traversal of the list again
> to update the flag.  A counter would not.
> 
> Maybe use:
> 
> 	- kernel-writable
> 	- user-writable
> 	- read-only
> 
> as the counters?  This way you only need to incr/decr the counters, and
> check them for != 0.  Counters should be unsigned, and sprinkle some
> KDASSERT()s in there to detect underflow.

I was pondering whether a 2-bit counter of the number of pv entries would 
actually be useful.  Basically the counter would tell us if we have 1 2 or 
many (=3) entries on the list and we could switch on that -- that would 
take the common cases out of the need for entering a load of loops (in 
fact it might well be possible to eliminate the vac-me-harder calls 
altogether for the non-many cases).

R.