mirror of
https://github.com/opnsense/src.git
synced 2026-05-25 18:54:02 -04:00
The hold_count and wire_count fields of struct vm_page are separate reference counters with similar semantics. The remaining essential differences are that holds are not counted as a reference with respect to LRU, and holds have an implicit free-on-last unhold semantic whereas vm_page_unwire() callers must explicitly determine whether to free the page once the last reference to the page is released. This change removes the KPIs which directly manipulate hold_count. Functions such as vm_fault_quick_hold_pages() now return wired pages instead. Since r328977 the overhead of maintaining LRU for wired pages is lower, and in many cases vm_fault_quick_hold_pages() callers would swap holds for wirings on the returned pages anyway, so with this change we remove a number of page lock acquisitions. No functional change is intended. __FreeBSD_version is bumped. Reviewed by: alc, kib Discussed with: jeff Discussed with: jhb, np (cxgbe) Tested by: pho (previous version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D19247 |
||
|---|---|---|
| .. | ||
| booke_machdep.c | ||
| locore.S | ||
| machdep_e500.c | ||
| machdep_ppc4xx.c | ||
| mp_cpudep.c | ||
| platform_bare.c | ||
| pmap.c | ||
| spe.c | ||
| trap_subr.S | ||