Page MenuHomeFreeBSD

vm_object: Remove redundant OBJ_SWAP checks
ClosedPublic

Authored by markj on Jul 12 2022, 4:23 PM.
Tags
None
Referenced Files
F102651685: D35789.diff
Fri, Nov 15, 8:59 AM
Unknown Object (File)
Oct 1 2024, 12:26 PM
Unknown Object (File)
Sep 30 2024, 3:06 PM
Unknown Object (File)
Sep 25 2024, 5:47 AM
Unknown Object (File)
Sep 25 2024, 2:59 AM
Unknown Object (File)
Sep 18 2024, 11:18 AM
Unknown Object (File)
Sep 16 2024, 11:51 AM
Unknown Object (File)
Sep 5 2024, 3:07 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.