Page MenuHomeFreeBSD

Tweaks for pmap_qremove() and transient mappings
ClosedPublic

Authored by kib on Nov 23 2024, 9:07 PM.
Tags
None
Referenced Files
F126885143: D47717.id146901.diff
Mon, Aug 25, 5:55 AM
Unknown Object (File)
Wed, Aug 20, 5:30 PM
Unknown Object (File)
Sat, Aug 2, 1:15 AM
Unknown Object (File)
Thu, Jul 31, 4:37 AM
Unknown Object (File)
Tue, Jul 29, 2:30 AM
Unknown Object (File)
Jul 26 2025, 6:21 PM
Unknown Object (File)
Jul 26 2025, 10:09 AM
Unknown Object (File)
Jul 23 2025, 4:49 PM
Subscribers

Details

Summary
amd64: switch pmap_map_io_transient() to use pmap_kenter_attr()

instead of constructing transient pte itself.  This pre-set PG_A and
PG_M bits, avoiding atomic pte update on access and modification.  Also
it set the nx bit, the mapping is not supposed to be used for executing.

amd64 pmap: assert and explain why pmap_qremove() is safe WRT supermappings

Based on alc@ comments from https://reviews.freebsd.org/D47678.

Diff Detail

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