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)
Tue, Apr 30, 3:36 PM
Unknown Object (File)
Dec 22 2023, 10:43 PM
Unknown Object (File)
Aug 1 2023, 10:21 PM
Unknown Object (File)
Aug 1 2023, 10:20 PM
Unknown Object (File)
Aug 1 2023, 10:18 PM
Unknown Object (File)
Aug 1 2023, 10:09 PM
Unknown Object (File)
May 18 2023, 10:08 PM
Unknown Object (File)
May 18 2023, 10:06 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

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