freebsd-nq/sys/powerpc/aim
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
..
aim_machdep.c powerpc: Add POWER8NVL definition 2019-04-27 02:33:49 +00:00
locore32.S powerpc64: Add a trap stack area 2019-02-04 16:02:03 +00:00
locore64.S powerpc64: Add a trap stack area 2019-02-04 16:02:03 +00:00
locore.S
mmu_oea64.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
mmu_oea64.h [PPC64] Support QEMU/KVM pseries without hugepages 2019-06-07 17:58:59 +00:00
mmu_oea.c Merge the vm_page hold and wire mechanisms. 2019-07-08 19:46:20 +00:00
moea64_if.m
moea64_native.c powerpc/moea: Fix moea64 native VA invalidation 2019-06-01 01:40:14 +00:00
mp_cpudep.c powerpc: Initialize the Hardware Interrupt Offset Register (HIOR) earlier for ppc970 2019-05-10 19:36:14 +00:00
slb.c [PPC] Add missing SLB allocation KASSERT 2019-07-08 13:01:54 +00:00
trap_subr32.S powerpc: Add a couple missing isyncs 2019-04-24 02:51:58 +00:00
trap_subr64.S Fix PPC64 kernel build with clang8 + lld8 2019-05-22 15:56:41 +00:00