Account for superpage mappings that are created by pmap_copy().
This commit is contained in:
parent
b5c5032066
commit
65a9768f62
@ -4844,6 +4844,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
PG_PS_FRAME, &lock))) {
|
||||
*pde = srcptepaddr & ~PG_W;
|
||||
pmap_resident_count_inc(dst_pmap, NBPDR / PAGE_SIZE);
|
||||
atomic_add_long(&pmap_pde_mappings, 1);
|
||||
} else
|
||||
dstmpde->wire_count--;
|
||||
continue;
|
||||
|
@ -5768,6 +5768,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
~PTE1_W;
|
||||
dst_pmap->pm_stats.resident_count +=
|
||||
PTE1_SIZE / PAGE_SIZE;
|
||||
pmap_pte1_mappings++;
|
||||
}
|
||||
continue;
|
||||
} else if (!pte1_is_link(src_pte1))
|
||||
|
@ -4035,6 +4035,7 @@ pmap_copy(pmap_t dst_pmap, pmap_t src_pmap, vm_offset_t dst_addr, vm_size_t len,
|
||||
~PG_W;
|
||||
dst_pmap->pm_stats.resident_count +=
|
||||
NBPDR / PAGE_SIZE;
|
||||
pmap_pde_mappings++;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user