freebsd-dev/sys/arm
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
..
allwinner Add the rtc8583 driver to conf/files. Also, move sy8106a from 2019-06-23 17:23:56 +00:00
altera/socfpga arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
amlogic/aml8726 Implement missing MMCBR ivars 2019-07-04 14:15:04 +00:00
annapurna/alpine arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
arm Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
broadcom/bcm2835 A bit of code hygiene (no functional changes). 2019-06-10 23:25:40 +00:00
cloudabi32 Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
conf Remove a couple of harmless stray references to nandfs. 2019-06-25 16:39:25 +00:00
freescale Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
include Implement the ffs and fls functions, and their longer counterparts, in 2019-05-28 15:47:00 +00:00
mv Remove NAND and NANDFS support 2019-06-25 04:50:09 +00:00
nvidia Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m). 2019-06-07 18:23:29 +00:00
qemu arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
ralink arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
rockchip Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
samsung/exynos arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00
ti Add support for the PWM(9) API. This allows configuring the pwm output using 2019-06-21 14:24:33 +00:00
versatile Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
xilinx arm: Add kern_clocksource.c directly in files.arm 2019-04-16 20:04:22 +00:00