Page MenuHomeFreeBSD

pctrie: add function to transfer between pctries
AbandonedPublic

Authored by dougm on Oct 23 2024, 10:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 7, 5:40 PM
Unknown Object (File)
Mar 3 2025, 6:18 AM
Unknown Object (File)
Feb 27 2025, 1:59 PM
Unknown Object (File)
Feb 23 2025, 7:50 PM
Unknown Object (File)
Feb 10 2025, 12:47 PM
Unknown Object (File)
Jan 17 2025, 12:01 PM
Unknown Object (File)
Jan 13 2025, 2:42 PM
Unknown Object (File)
Jan 12 2025, 9:49 AM
Subscribers

Details

Reviewers
markj
Summary

vm_page_rename, in order to move a page from one pctrie to another and renumber it, changes its index value back and forth and leaves it briefly inserted in two pctries at once. Add a new transfer function to do all this, and use it in vm_page_rename.

This depends on D46895.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

dougm created this revision.
sys/vm/vm_page.c
2002

If I'm reading this correctly, m's pindex is now set to the new pindex when executing vm_page_object_remove(m), but that routine expects the old pindex to still be in place. For example, vm_pager_page_unswapped()->swap_pager_unswapped() looks up a swap block using the page's pindex.

sys/vm/vm_radix.h
306
307
320