svn commit: r286296 - in head/sys: amd64/amd64 arm/arm arm/include arm64/arm64 i386/i386 i386/include mips/mips powerpc/aim powerpc/booke powerpc/include powerpc/powerpc sparc64/include sparc64/spa...

Jason Harmening jason.harmening at gmail.com
Tue Aug 4 23:50:29 UTC 2015



On 08/04/15 18:22, Bjoern A. Zeeb wrote:
> 
>> On 04 Aug 2015, at 19:46 , Jason A. Harmening <jah at 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
> 

Yep, I'm planning to write one.


More information about the svn-src-all mailing list