freebsd-nq/sys/compat
Mark Johnston eeacb3b02f Merge the vm_page hold and wire mechanisms.
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
2019-07-08 19:46:20 +00:00
..
cloudabi Introduce funlinkat syscall that always us to check if we are removing 2019-04-06 09:34:26 +00:00
cloudabi32 makesyscalls.sh: always use absolute path for syscalls.conf 2019-05-30 20:56:23 +00:00
cloudabi64 makesyscalls.sh: always use absolute path for syscalls.conf 2019-05-30 20:56:23 +00:00
freebsd32 Control implicit PROT_MAX() using procctl(2) and the FreeBSD note 2019-07-02 19:07:17 +00:00
ia32 Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
lindebugfs LinuxKPI: Finalize move of lindebugfs from ports to base. 2019-05-19 15:44:21 +00:00
linprocfs Decode more CPU flags in cpuinfo. 2019-05-03 08:27:03 +00:00
linsysfs Remove wrong copyright line. Discussed with Carlos Neira. 2019-05-07 05:08:13 +00:00
linux Update Linux compat version to 2.6.36 2019-07-04 20:42:08 +00:00
linuxkpi/common Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
ndis Fix compilation with 'option NDISAPI + device ndis' and 2019-01-30 11:40:12 +00:00
netbsd sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
x86bios x86bios: use M_NOWAIT with mallocs 2018-09-13 07:04:00 +00:00