Page MenuHomeFreeBSD

Implement atomic state updates using the new vm_page_astate_t structure.
ClosedPublic

Authored by markj on Dec 10 2019, 7:11 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 22 2023, 9:40 PM
Unknown Object (File)
Nov 11 2023, 11:29 PM
Unknown Object (File)
Nov 7 2023, 9:16 PM
Unknown Object (File)
Nov 6 2023, 4:50 PM
Unknown Object (File)
Nov 5 2023, 2:31 AM
Unknown Object (File)
Oct 8 2023, 10:27 PM
Unknown Object (File)
Oct 6 2023, 8:01 PM
Unknown Object (File)
Oct 5 2023, 3:47 PM
Subscribers

Details

Summary

Introduce primitives vm_page_astate_load() and vm_page_astate_fcmpset()
to operate on the 32-bit per-page atomic state. Modify
vm_page_pqstate_fcmpset() to use them. No functional change intended.

Introduce PGA_QUEUE_OP_MASK, a subset of PGA_QUEUE_STATE_MASK that only
includes queue operation flags. This will be used in subsequent
patches.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Looks much nicer!

sys/vm/vm_page.h
759 ↗(On Diff #65465)

Shouldn't this be * NBBY?

markj marked an inline comment as done.

Fix the aflags shift definition, which happened to work regardless on
little-endian systems.

This revision is now accepted and ready to land.Dec 11 2019, 10:03 PM