HomeFreeBSD

Make several changes to pmap_enter_quick_locked():
rS159971Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Make several changes to pmap_enter_quick_locked():

  1. Make the caller responsible for performing pmap_install(). This reduces

the number of times that pmap_install() is performed by
pmap_enter_object() from twice per page to twice overall.

  1. Don't block if pmap_find_pte() is unable to allocate a PTE. If it did

block, then it might wind up mapping a cache page. Specifically, if
pmap_enter_quick_locked() slept when called from pmap_enter_object(), the
page daemon could change an active or inactive page into a cache page just
before it was to be mapped.

  1. Bail out of pmap_enter_quick_locked() if pv entries aren't plentiful.

In other words, don't force the allocation of a pv entry if they aren't
readily available.

Reviewed by: marcel@

Details

Provenance
alcAuthored on
Parents
rS159970: Correct a very old and very obscure bug: vmspace_fork() calls
Branches
Unknown
Tags
Unknown

Event Timeline