This revision removes most of the code for implementing PG_CACHED pages. It does not remove user-space visible fields from vm_cnt or all of the references to cached pages from comments. Those changes will come later.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
vm/vm_page.c | ||
---|---|---|
1786 ↗ | (On Diff #22147) | The description 'initialize' is somewhat weird for the remnants of this function. It only manages bookkeeping for the phys allocator, effectively. |
There are some callers of vm_page_alloc() that can be simplified a bit. For instance, shm_dotruncate() no longer needs to check the valid bits of the page returned by vm_page_alloc(). I believe the valid bit check in vm_page_grab() can be removed as well.
vm/vm_page.c | ||
---|---|---|
1786 ↗ | (On Diff #22147) | I'd like to propose some refactoring: Move the vm_phys_freecnt_adj() back to the callers, leaving only the KASSERT()s in this function. (This is actually an optimization for vm_page_alloc_contig().) Rename the function to vm_page_alloc_check(), and move the calls to a point after the free queue lock is released. |
Yes, and also vm_fault(). Today, I'm going to review all of the callers to vm_page_alloc() and update them where appropriate. I expect that to be the final change to this patch.