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.
Details
Details
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
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. |
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. |