Page MenuHomeFreeBSD

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

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

Details

Summary

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

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

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