Subject: Re: sparc64 pmap optimizations
To: Chuck Silvers <chuq@chuq.com>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: tech-kern
Date: 08/29/2002 00:41:28
On Thu, Aug 29, 2002 at 12:10:35AM -0700, Chuck Silvers wrote:

 > > Why not just make a pmap_remove_all() to just nuke all user mappings from
 > > a pmap, and allow it to use the shortcut?  Then exec/exit can use it before
 > > they do the normal remove steps, so that all the pmap_remove() steps done
 > > during the uvm_unmap's will be noops?
 > 
 > you could do this with the pmap_predestroy() interface as I described it.
 > in pmap_predestroy(), remove all the mappings and mark the pmap as empty.
 > in pmap_remove(), just return immediately if the pmap is marked empty.
 > so this is an implementation issue, not an interface issue.

Sure, but I just don't like the idea of a pmap_predestroy() which might
or might not do something clever ... and it's not like you're really
destroying anything ... use pmap_remove_all() in the exec path, too, rather
than the separate pmap_activate() hack?  (FWIW, I'm planning on changing the
pmap_activate() semantics to address a problem on the nathanw_sa branch).

Seems like the one interface can trivially do both, and the new interface
can be naively implemented internally in terms of pmap_remove() in order
to avoid having to conditionalize all this stuff...

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>