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)
Fri, Oct 17, 10:33 PM
Unknown Object (File)
Fri, Oct 17, 10:33 PM
Unknown Object (File)
Fri, Oct 17, 10:33 PM
Unknown Object (File)
Fri, Oct 17, 1:15 PM
Unknown Object (File)
Sun, Oct 12, 10:38 AM
Unknown Object (File)
Wed, Oct 8, 4:30 AM
Unknown Object (File)
Tue, Sep 30, 1:26 PM
Unknown Object (File)
Sep 20 2025, 7: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