About pmap_mapdev() & pmap_unmapdev()

Konstantin Belousov kostikbel at gmail.com
Sat Oct 4 15:58:08 UTC 2014

On Sat, Oct 04, 2014 at 08:53:35PM +0900, Kohji Okuno wrote:
> Hi Konstantin,
> Thank you for your prompt response.
> I will test and report from next monday.
> >> In addtion, I have one question.
> >> In current and 10-stable, is vm_map_delete() called by kva_free()?
> > No, kva_free() only releases the vmem backing, leaving the page
> > tables intact.  This is why I only did the stable/9 patch.
> Where are PTEs allocated by pmap_mapdev() freed in current and 10-stable?
> Could you please explain me?
They are not freed. The removal of the vmem which covers the address
space managed by corresponding ptes, allows the reuse of both KVA region
and corresponding PTEs in the tables. The only concern with the resident
page tables is to avoid two kva_alloc() to step over each other, and
this is ensured by vmem.

More information about the freebsd-current mailing list