- Rearrange struct inpcb fields to optimize the TCP output code path considering cache line hits and misses. Put the lock and hash list glue into the first cache line, put inp_refcount inp_flags inp_socket into the second cache line. This has been tested at Netflix.
Details
Details
- Reviewers
bz - Group Reviewers
network transport - Commits
- rS318793: o Rearrange struct inpcb fields to optimize the TCP output code path
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 9214 Build 9663: CI src build Jenkins Build 9662: arc lint + arc unit
Event Timeline
Comment Actions
Could this please be multiple individual changes.
The function argument change is completely independent of the struct reordering.
If people would want to do alternate performance validation on the struct changes, I'd really like to have just that.
Thanks.
Comment Actions
Yes, this will be two separate commits.
Anybody is welcome to do alternate performance validation. At Netflix we found this layout of the structure optimal.
Comment Actions
Did the other changes get in already or are they in a different review? I will try to see what this one does in a different setup during the next days (I hope).