]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
When a copy-on-write fault occurs, pmap_enter() is called on to replace the
authoralc <alc@FreeBSD.org>
Sat, 4 Jan 2020 19:50:25 +0000 (19:50 +0000)
committeralc <alc@FreeBSD.org>
Sat, 4 Jan 2020 19:50:25 +0000 (19:50 +0000)
commit0adae291f5700a429504b40a2c6ceb226c081655
tree10ad2cacdf12653871282d5b2bae19233e953a02
parent4751bdaa18bacc6141b5928221e61d69760522c2
When a copy-on-write fault occurs, pmap_enter() is called on 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() must destroy its page table and PV
entries and invalidate its TLB entry.  This change simply invalidates that
TLB entry a little earlier, specifically, on amd64 and arm64, before the PV
list lock is held.

Reviewed by: kib, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D23027
sys/amd64/amd64/pmap.c
sys/arm64/arm64/pmap.c
sys/i386/i386/pmap.c