kmem_bootstrap_free() may decrement these stats, and this occasionally
causes panics in INVARIANTS kernels when the resident count underflows.
Details
Details
- Reviewers
alc kib - Commits
- rS339046: Count bootstrap data as resident in the kernel pmap.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/amd64/amd64/pmap.c | ||
---|---|---|
1123 ↗ | (On Diff #48522) | You can remove this blank line as well. |
Comment Actions
My recollection is that we do not set the wired bit in any of the page table entries created by create_pagetables() so we could wind up with a wired mapping count that exceeds the resident count.
sys/amd64/amd64/pmap.c | ||
---|---|---|
1145 ↗ | (On Diff #48533) | I would provide some motivation: "... resident in case any of this data is later unmapped (using pmap_remove()) and freed." |
sys/amd64/amd64/pmap.c | ||
---|---|---|
1145 ↗ | (On Diff #48533) | Sorry, I accidentally committed a stale version of the patch. Will fix. I also remembered after committing that we need the same change on i386. :( |