freebsd-skq/sys/contrib
markj 039f74039e 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
..
alpine-hal
ck
cloudabi
dev MFV: r347413 2019-05-09 23:03:10 +00:00
edk2
ena-com Adjust ENA driver to the new ena-com 2019-05-30 13:01:46 +00:00
ipfilter/netinet Update frtuc struct comments. It not only defines TCP things we are 2019-07-08 19:11:49 +00:00
libb2
libfdt
libnv The nvlist_report_missing is also used by the cnvlist. 2019-04-11 04:24:41 +00:00
libsodium
ncsw
ngatm
octeon-sdk
rdma/krping
v4l
vchiq/interface Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
x86emu
xz-embedded Modularize xz. 2019-02-26 19:55:03 +00:00
zlib Move contrib/zlib to sys/contrib/zlib so that we can use it in kernel. 2019-05-08 08:43:15 +00:00
zstd Update to Zstandard 1.4.0 2019-04-19 02:54:13 +00:00