opnsense-src/sys/compat/linuxkpi/common/src
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
..
linux_compat.c Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
linux_current.c LinuxKPI: Add group_leader member to struct task_struct. 2019-05-16 17:53:36 +00:00
linux_hrtimer.c Improve high resolution timer support in the LinuxKPI. 2018-06-01 11:33:14 +00:00
linux_idr.c Resolve duplicate symbol name conflict after r345095, when building LINT. 2019-03-13 19:53:20 +00:00
linux_kmod.c
linux_kthread.c Add kthread parking support to the LinuxKPI. 2017-06-18 19:22:05 +00:00
linux_lock.c Return correct error code to user-space when a system call receives a 2018-02-22 15:29:19 +00:00
linux_page.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
linux_pci.c Allow loading the same DMA address multiple times without any prior 2019-05-16 17:41:16 +00:00
linux_radix.c Implement radix_tree_iter_delete() in the LinuxKPI. 2018-06-01 11:42:09 +00:00
linux_rcu.c Create a new macro for static DPCPU data. 2018-07-05 17:13:37 +00:00
linux_schedule.c Implement the init_wait_entry() function macro in the LinuxKPI. 2018-06-06 14:59:23 +00:00
linux_seq_file.c import linux debugfs support 2019-02-23 20:56:41 +00:00
linux_slab.c Rename the SLAB_DESTROY_BY_RCU flag into SLAB_TYPESAFE_BY_RCU in the LinuxKPI 2018-03-04 18:04:37 +00:00
linux_tasklet.c LinuxKPI: Fix build on powerpc/sparc. 2019-05-16 19:32:11 +00:00
linux_usb.c linuxkpi whitespace cleanup 2018-03-23 15:50:01 +00:00
linux_work.c Implement current_work() function in the LinuxKPI. 2018-08-06 10:48:20 +00:00