HomeFreeBSD

allocate inpcb aligned to cachelines

Description

allocate inpcb aligned to cachelines

The inpcb struct is one of the most heavily utilized in the kernel
on a busy network server. By aligning it to a cacheline
boundary, we can ensure that closely related fields in the inpcb
and tcbcb can be predictably located on the same cacheline. rrs
has already done a lot of this work to put related fields on the
same line for the tcbcb.

In combination with a forthcoming patch to align the start of the tcpcb,
we see a roughly 3% reduction in CPU use on a busy web server serving
traffic over roughly 50,000 TCP connections.

Reviewed by: glebius, markj, tuexen
Differential Revision: https://reviews.freebsd.org/D37687
Sponsored by: Netflix

Details

Provenance
gallatinAuthored on Dec 14 2022, 7:19 PM
Reviewer
glebius
Differential Revision
D37687: allocate inpcb aligned to cachelines
Parents
rG7a2c93b86ef7: sockets: provide sousrsend() that does socket specific error handling
Branches
Unknown
Tags
Unknown