vm_page_free_prep(): convert PG_ZERO zeroed page check to use sf_buf Make the check MI by allocating sf_buf in non-blockable manner. For DMAP arches, this should be nop since sf_buf allocation cannot fail. For non-DMAP arches, we get the checks activated unless there is serious sf_buf pressure, which typically should be not. The context for vm_page_free_prep() should be ready to block on some VM mutexes, which should make it reasonable to block on sf_buf list lock. Move the code to INVARIANTS build, and control it with the sysctl debug.vm_check_pg_zero. vm_fault: under INVARIANTS, add the verifier that PG_ZERO page is indeed zeroed Controlled by the same sysctl debug.vm_check_pg_zero.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Would it be sensible to compile this code under INVARIANTS and leave it disabled by default with a sysctl?
| sys/vm/vm_page.c | ||
|---|---|---|
| 152 | Maybe this should be INVARIANTS-only too. | |