Page MenuHomeFreeBSD

Convert a few trivial uses to unlocked page lookups.
ClosedPublic

Authored by jeff on Feb 27 2020, 3:06 AM.
Tags
None
Referenced Files
Unknown Object (File)
Jan 16 2024, 10:26 AM
Unknown Object (File)
Dec 24 2023, 4:31 AM
Unknown Object (File)
Oct 16 2023, 8:55 AM
Unknown Object (File)
Sep 19 2023, 11:39 PM
Unknown Object (File)
Sep 10 2023, 9:23 AM
Unknown Object (File)
Sep 6 2023, 2:50 AM
Unknown Object (File)
Sep 6 2023, 2:50 AM
Unknown Object (File)
Sep 1 2023, 2:23 AM
Subscribers

Details

Summary

These were all very straightforward. exec/imgact/buf cache all show immediate gain. There are more complex cases coming after this. I have run multiple 48 hour stress2 runs on this and patches later in this series that convert more consumers.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 29633
Build 27491: arc lint + arc unit

Event Timeline

jeff added reviewers: alc, dougm, kib, markj.
jeff set the repository for this revision to rS FreeBSD src repository - subversion.
sys/kern/kern_sendfile.c
454

We actually could do slightly better here. On return from I/O we don't need the object locked for bogus page replacement. The same is true in the buf cache.

sys/kern/kern_sendfile.c
364

The caller bumps PIP, which is released in sendfile_iodone(). Do we actually need to do that when all of the pages are valid?

sys/kern/kern_sendfile.c
364

no but it is also harmless and simplified the code.

This revision is now accepted and ready to land.Feb 28 2020, 1:27 PM
markj added inline comments.
sys/kern/kern_sendfile.c
364

It was actually a bit tricky and led to a bug, which is why I asked. r358320 seems to have simplified things a bit though.