mirror of
https://github.com/opnsense/src.git
synced 2026-06-03 13:58:30 -04:00
Eliminate (many) unnecessary calls to pmap_remove_all(). Pages from objects
with a reference count of zero can't possibly be mapped, so there is never a need for vm_page_set_invalid() to call pmap_remove_all() on them. Reviewed by: kib MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
ba852870a4
commit
c9af644e5c
1 changed files with 2 additions and 1 deletions
|
|
@ -3096,7 +3096,8 @@ vm_page_set_invalid(vm_page_t m, int base, int size)
|
|||
bits = VM_PAGE_BITS_ALL;
|
||||
else
|
||||
bits = vm_page_bits(base, size);
|
||||
if (m->valid == VM_PAGE_BITS_ALL && bits != 0)
|
||||
if (object->ref_count != 0 && m->valid == VM_PAGE_BITS_ALL &&
|
||||
bits != 0)
|
||||
pmap_remove_all(m);
|
||||
KASSERT((bits == 0 && m->valid == VM_PAGE_BITS_ALL) ||
|
||||
!pmap_page_is_mapped(m),
|
||||
|
|
|
|||
Loading…
Reference in a new issue