> On 04 Aug 2015, at 19:46 , Jason A. Harmening <j...@freebsd.org> wrote:
> 
> Author: jah
> Date: Tue Aug  4 19:46:13 2015
> New Revision: 286296
> URL: https://svnweb.freebsd.org/changeset/base/286296
> 
> Log:
>  Add two new pmap functions:
>  vm_offset_t pmap_quick_enter_page(vm_page_t m)
>  void pmap_quick_remove_page(vm_offset_t kva)
> 
>  These will create and destroy a temporary, CPU-local KVA mapping of a 
> specified page.
> 
>  Guarantees:
>  --Will not sleep and will not fail.
>  --Safe to call under a non-sleepable lock or from an ithread
> 
>  Restrictions:
>  --Not guaranteed to be safe to call from an interrupt filter or under a spin 
> mutex on all platforms
>  --Current implementation does not guarantee more than one page of mapping 
> space across all platforms. MI code should not make nested calls to 
> pmap_quick_enter_page.
>  --MI code should not perform locking while holding onto a mapping created by 
> pmap_quick_enter_page
> 
>  The idea is to use this in busdma, for bounce buffer copies as well as 
> virtually-indexed cache maintenance on mips and arm.
> 
>  NOTE: the non-i386, non-amd64 implementations of these functions still need 
> review and testing.

Most of this description should go into a section 9 man page rather than the 
commit message ;-)

/bz

_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to