HomeFreeBSD

arm64: a few simplications to pmap_remove_{all,write}

Description

arm64: a few simplications to pmap_remove_{all,write}

Eliminate some unnecessary unlocking and relocking when we have to retry
the operation to avoid deadlock. (All of the other pmap functions that
iterate over a PV list already implemented retries without these same
unlocking and relocking operations.)

Avoid a pointer dereference by using an existing local variable that
already holds the desired value.

Eliminate some unnecessary repetition of code on a failed fcmpset.
Specifically, there is no point in retesting the DBM bit because it
cannot change state while the pmap lock is held.

Reviewed by: kib, markj

(cherry picked from commit 26a357245f2197eea4dbbae0956d5c71ef8ba4f1)

Details

Provenance
alcAuthored on Jun 29 2021, 2:57 AM
markjCommitted on Aug 31 2021, 7:09 PM
Parents
rG156414adaf9d: arm64: eliminate a duplicated #define
Branches
Unknown
Tags
Unknown