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

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.