Page MenuHomeFreeBSD

vm_object: Remove redundant OBJ_SWAP checks
ClosedPublic

Authored by markj on Jul 12 2022, 4:23 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Mar 21, 7:12 PM
Unknown Object (File)
Thu, Mar 21, 7:12 PM
Unknown Object (File)
Thu, Mar 21, 7:12 PM
Unknown Object (File)
Wed, Mar 20, 10:04 PM
Unknown Object (File)
Jan 14 2024, 10:19 AM
Unknown Object (File)
Dec 20 2023, 6:11 AM
Unknown Object (File)
Dec 6 2023, 9:02 AM
Unknown Object (File)
Dec 3 2023, 6:25 AM
Subscribers

Details

Summary

With the removal of OBJT_DEFAULT, OBJ_ANON implies OBJ_SWAP.

Note, this means that vm_object_split() is more expensive than it used
to be, as it holds busy locks until the end of the range is reached,
even if the object has no swap blocks allocated. I am still not sure
why exactly we need to do this even when swap blocks are allocated.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

markj requested review of this revision.Jul 12 2022, 4:23 PM
This revision is now accepted and ready to land.Jul 12 2022, 6:05 PM
sys/vm/vm_object.c
1525–1526

Now stale comment.

markj added inline comments.
sys/vm/vm_object.c
1525–1526

I'll fix this in D35788 as that's where most of the similar cleanup happens.

alc added inline comments.
sys/vm/vm_object.c
1961–1962

Doug, after Mark's commits land, could you change swp_pager_meta_transfer() so that it returns immediately at the start if the source trie is empty.

sys/vm/vm_object.c
1961–1962

Okay.

This revision was automatically updated to reflect the committed changes.
markj marked an inline comment as done.