path: root/sbin
diff options
authorGleb Smirnoff <glebius@FreeBSD.org>2017-05-24 17:47:16 +0000
committerGleb Smirnoff <glebius@FreeBSD.org>2017-05-24 17:47:16 +0000
commit6a6cefac3daed617329707d74219446fe1bd794d (patch)
tree6770b8c31919a135190bac2713967e75ada4e1ed /sbin
parentdcfffd047057e2f14e0d5c0a456aa7bbc4fcdc36 (diff)
o 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. o On allocation zero out entire structure except the lock and list entries, including inp_route inp_lle inp_gencnt. When inp_route and inp_lle were introduced, they were added below inp_zero_size, resulting on not being cleared after free/alloc. This definitely was a source of bugs with route caching. Could be that r315956 has just fixed one of them. The inp_gencnt is reinitialized on every alloc, so it is safe to clear it. This has been proved to improve TCP performance at Netflix. Obtained from: rrs Differential Revision: D10686
Notes: svn path=/head/; revision=318793
Diffstat (limited to 'sbin')
0 files changed, 0 insertions, 0 deletions