freebsd-skq/sys/netinet/tcp_stacks
mmacy 79793784f7 convert inpcbinfo hash and info rwlocks to epoch + mutex
- Convert inpcbinfo info & hash locks to epoch for read and mutex for write
- Garbage collect code that handled INP_INFO_TRY_RLOCK failures as
  INP_INFO_RLOCK which can no longer fail

When running 64 netperfs sending minimal sized packets on a 2x8x2 reduces
unhalted core cycles samples in rwlock rlock/runlock in udp_send from 51% to
3%.

Overall packet throughput rate limited by CPU affinity and NIC driver design
choices.

On the receiver unhalted core cycles samples in in_pcblookup_hash went from
13% to to 1.6%

Tested by LLNW and pho@

Reviewed by: jtl
Sponsored by: Limelight Networks
Differential Revision: https://reviews.freebsd.org/D15686
2018-06-19 01:54:00 +00:00
..
fastpath.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
rack_bbr_common.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
rack.c convert inpcbinfo hash and info rwlocks to epoch + mutex 2018-06-19 01:54:00 +00:00
sack_filter.c This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
sack_filter.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00
tcp_rack.h This commit brings in a new refactored TCP stack called Rack. 2018-06-07 18:18:13 +00:00