About 9% of the pmap_protect() calls being performed by vm_map_copy_entry()

are unnecessary.  Eliminate the unnecessary calls.

Reviewed by:	kib
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Alan Cox 2014-05-10 19:47:00 +00:00
parent c8fb3e69d0
commit d9a9209abe
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=265850

View File

@ -3023,7 +3023,8 @@ vm_map_copy_entry(
* If the source entry is marked needs_copy, it is already
* write-protected.
*/
if ((src_entry->eflags & MAP_ENTRY_NEEDS_COPY) == 0) {
if ((src_entry->eflags & MAP_ENTRY_NEEDS_COPY) == 0 &&
(src_entry->protection & VM_PROT_WRITE) != 0) {
pmap_protect(src_map->pmap,
src_entry->start,
src_entry->end,