Page MenuHomeFreeBSD

pmap: On a failed fcmpset don't repeat tests that won't change
ClosedPublic

Authored by alc on Jul 3 2021, 11:47 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Dec 18, 8:02 AM
Unknown Object (File)
Nov 11 2024, 2:01 AM
Unknown Object (File)
Oct 14 2024, 6:55 PM
Unknown Object (File)
Oct 11 2024, 3:19 AM
Unknown Object (File)
Oct 5 2024, 1:42 PM
Unknown Object (File)
Oct 5 2024, 1:42 PM
Unknown Object (File)
Oct 5 2024, 1:42 PM
Unknown Object (File)
Oct 5 2024, 1:12 PM
Subscribers

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

alc requested review of this revision.Jul 3 2021, 11:47 PM

On arm64, the new pmap code is smaller by 60 bytes.

This revision is now accepted and ready to land.Jul 4 2021, 10:57 AM

Is it possible for the hardware to change the AF or DBM flags between loading the pte and the fcmpset in the arm64 pmap?

Is it possible for the hardware to change the AF or DBM flags between loading the pte and the fcmpset in the arm64 pmap?

The hardware can change the AF bit from 0 to 1. The hardware does not change the DBM bit, only the OS does. If the DBM bit is 1, then the hardware can change ATTR_S1_AP(ATTR_S1_AP_RO) to ATTR_S1_AP(ATTR_S1_AP_RW) when the mapping is first written through, which amounts to changing a bit from 1 to 0.