When a superpage mapping is destroyed and the original page table page containing 4KB mappings that was being held in reserve is deallocated, the pt_page count was not being decremented. Consequentially, the user pt_count would grow over time.
Details
Details
- Reviewers
kib markj - Commits
- rG4c57d6d55516: amd64/pmap: fix user page table page accounting
For example, after multiple iterations of "buildworld", I was seeing the following illogical counts:
vm.pmap.kernel_pt_page_count: 2184
vm.pmap.user_pt_page_count: 2280849
vm.pmap.pv_page_count: 106
With this change, I now see:
vm.pmap.kernel_pt_page_count: 2183
vm.pmap.user_pt_page_count: 344
vm.pmap.pv_page_count: 105
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable