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)
Sun, Mar 17, 12:58 PM
Unknown Object (File)
Jan 28 2024, 2:16 AM
Unknown Object (File)
Jan 27 2024, 11:52 PM
Unknown Object (File)
Jan 16 2024, 6:51 AM
Unknown Object (File)
Jan 13 2024, 12:38 AM
Unknown Object (File)
Dec 22 2023, 9:51 PM
Unknown Object (File)
Dec 12 2023, 10:02 AM
Unknown Object (File)
Dec 7 2023, 4:29 AM
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.