Subject: Re: New kinetic figures
To: None <thorpej@zembu.com>
From: Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk>
List: port-arm32
Date: 02/08/2001 23:20:49
> On Thu, Feb 08, 2001 at 10:03:41PM +0000, Richard Earnshaw wrote:
> 
>  > If we could defer the unmappings until after the pmap has been changed to 
>  > a different one (or switch to a different pmap before starting the 
>  > unmapping), we could eliminate the cache flush on process death entirely.
>  > 
>  > Not sure how we might achieve this though.
> 
> Hm... it might already be the case that this is what happens...
> 
> The address space is torn down in uvmspace_free(), which is called
> from uvm_exit(), which is called from the reaper.

Well, it's possible we've switched to the kernel map, but during process 
teardown, the following code is certainly setting pmap_active to true, 
since we only flush the cache under that condition.

        /* Note if the pmap is active thus require cache and tlb cleans */
        if ((curproc && curproc->p_vmspace->vm_map.pmap == pmap)
            || (pmap == kernel_pmap))
                pmap_active = 1;
        else
                pmap_active = 0;

>