Page MenuHomeFreeBSD

pctrie: add function to transfer between pctries
AbandonedPublic

Authored by dougm on Oct 23 2024, 10:42 PM.
Tags
None
Referenced Files
F107313959: D47271.id145407.diff
Sun, Jan 12, 9:49 AM
Unknown Object (File)
Sat, Jan 11, 11:36 PM
Unknown Object (File)
Dec 5 2024, 10:17 AM
Unknown Object (File)
Nov 22 2024, 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
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