HomeFreeBSD

powerpc64/pmap: Reduce scope of PV_LOCK in remove path

Description

powerpc64/pmap: Reduce scope of PV_LOCK in remove path

Summary:
Since the 'page pv' lock is one of the most highly contended locks, we
need to try to do as much work outside of the lock as we can. The
moea64_pvo_remove_from_page() path is a low hanging fruit, where we can
do some heavy work (PHYS_TO_VM_PAGE()) outside of the lock if needed.
In one path, moea64_remove_all(), the PV lock is already held and can't
be swizzled, so we provide two ways to perform the locked operation, one
that can call PHYS_TO_VM_PAGE outside the lock, and one that calls with
the lock already held.

Reviewed By: luporl
Differential Revision: https://reviews.freebsd.org/D20694

Details

Committed
jhibbitsJul 13 2019, 3:02 AM
Reviewer
luporl
Differential Revision
D20694: powerpc64/pmap: Reduce scope of PV_LOCK in remove path
Parents
rS349962: MFC 347238: vmm(4): Pass through RDSEED feature bit to guests
Branches
Unknown
Tags
Unknown