freebsd-dev/sys/mips/mips
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
..
autoconf.c
bcopy.S
bus_space_generic.c Remove support for the now very old SiByte MIPS platform. It's not 2018-12-19 22:54:03 +00:00
busdma_machdep.c Eliminate the arena parameter to kmem_free(). Implicitly this corrects an 2018-08-25 19:38:08 +00:00
cache_mipsNN.c
cache.c
cpu.c
db_disasm.c
db_interface.c
db_trace.c
dump_machdep.c
elf_machdep.c Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
elf_trampoline.c Delete unneeded #include <sys/inflate.h> from sys/mips. 2019-05-23 05:17:18 +00:00
exception.S
fp.S
freebsd32_machdep.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
gdb_machdep.c
genassym.c
in_cksum.c
inckern.S
intr_machdep.c follow-up to r336635, update TAILQ to CK_SLIST for ie_handlers 2018-07-23 15:36:55 +00:00
libkern_machdep.c
locore.S
machdep.c Display CPU model in dmesg on mips targets 2019-05-24 01:43:35 +00:00
mem.c
minidump_machdep.c Display the approximate space needed when a minidump fails due to lack 2019-06-30 03:14:04 +00:00
mips_pic.c
mp_machdep.c Eliminate kmem_malloc()'s unused arena parameter. (The arena parameter 2018-08-21 16:43:46 +00:00
mpboot.S
nexus.c
octeon_cop2_swtch.S
octeon_cop2.c
ofw_machdep.c
pm_machdep.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
pmap.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
ptrace_machdep.c
sc_machdep.c
stack_machdep.c
stdatomic.c
support.S Remove obsolete wrappers for 64-bit loads/stores which were only used by the 2019-03-16 06:09:45 +00:00
swtch.S
sys_machdep.c
tick.c
tlb.c [mips] remove check that is always false (unsinged < 0) 2019-01-25 19:58:56 +00:00
trap.c Include ktr.h in more compilation units 2019-05-21 20:38:48 +00:00
uio_machdep.c
uma_machdep.c
vm_machdep.c amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00