Page MenuHomeFreeBSD

Perform TLB invalidation before acquiring the PV list lock in pmap_enter()

Authored by alc on Jan 3 2020, 8:41 PM.



When a copy-on-write fault occurs, pmap_enter() is called to replace the mapping to the old read-only page with a mapping to the new read-write page. To destroy the old mapping, pmap_enter() destroys its page table and PV entries and invalidates its TLB entry. This change is intended to reduce the time that the PV list lock is held by performing the TLB invalidation a little earlier, in particular, before the PV list lock is acquired.

Diff Detail

Lint Skipped
Unit Tests Skipped

Event Timeline

alc created this revision.Jan 3 2020, 8:41 PM
markj accepted this revision.Jan 3 2020, 9:44 PM
This revision is now accepted and ready to land.Jan 3 2020, 9:44 PM
kib accepted this revision.Jan 4 2020, 4:10 AM