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)
Sun, Jan 4, 7:35 PM
Unknown Object (File)
Dec 12 2025, 3:20 AM
Unknown Object (File)
Nov 20 2025, 4:15 PM
Unknown Object (File)
Nov 20 2025, 4:14 PM
Unknown Object (File)
Nov 20 2025, 4:00 PM
Unknown Object (File)
Nov 16 2025, 12:03 AM
Unknown Object (File)
Nov 16 2025, 12:03 AM
Unknown Object (File)
Nov 15 2025, 10:03 PM
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