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)
Nov 24 2024, 1:06 PM
Unknown Object (File)
Oct 23 2024, 1:39 AM
Unknown Object (File)
Sep 23 2024, 7:53 PM
Unknown Object (File)
Sep 23 2024, 7:53 PM
Unknown Object (File)
Sep 23 2024, 7:49 PM
Unknown Object (File)
Sep 23 2024, 7:37 PM
Unknown Object (File)
Sep 16 2024, 11:45 AM
Unknown Object (File)
Sep 12 2024, 6:22 PM
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

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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 ↗(On Diff #68867)

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 ↗(On Diff #68867)

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 ↗(On Diff #68867)

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 ↗(On Diff #68867)

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.