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)
Thu, Dec 5, 10:17 AM
Unknown Object (File)
Fri, Nov 22, 4:08 PM
Unknown Object (File)
Nov 21 2024, 4:39 PM
Unknown Object (File)
Nov 20 2024, 12:50 PM
Unknown Object (File)
Nov 18 2024, 2:15 AM
Unknown Object (File)
Nov 16 2024, 6:58 AM
Unknown Object (File)
Nov 8 2024, 7:03 PM
Unknown Object (File)
Oct 28 2024, 2:21 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