Page MenuHomeFreeBSD

Consistently use vm_page_valid() to validate pages.
ClosedPublic

Authored by jeff on Jan 20 2020, 6:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Nov 23, 2:42 PM
Unknown Object (File)
Oct 2 2024, 6:01 AM
Unknown Object (File)
Sep 18 2024, 9:31 PM
Unknown Object (File)
Sep 9 2024, 10:01 PM
Unknown Object (File)
Sep 5 2024, 3:27 PM
Unknown Object (File)
Aug 27 2024, 2:55 PM
Unknown Object (File)
Jul 30 2024, 8:15 AM
Unknown Object (File)
Apr 30 2024, 3:36 PM
Subscribers

Details

Summary

None of these are strictly necessary from a correctness POV. This simply makes things easier to write asserts for and reason about. Note that NOBUSY grab calls still serialize against XBUSY in case the xbusy holder is removing the page. So this is not actually introducing new serialization, it's just not released inside the grab call but instead inside the caller after the page has been set valid. I believe these are the final places in tree that directly set VM_PAGE_BITS_ALL.

In the future I may use vm_page_valid() to set a bit in the busy lock indicating validity which will allow me to optimize busy for mapping.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28794
Build 26803: arc lint + arc unit