TCP stack lock contention with short-lived connections

Julien Charbon jch at freebsd.org
Tue Jun 28 12:56:39 UTC 2016


 Hi -net,

On 12/7/15 4:36 PM, Julien Charbon wrote:
> On 30/05/14 06:12, k simon wrote:
>>   Does any plan commit and MFC to the 10-stable ?
> 
>  I got a bit of interest of having the performance improvements for
> short-lived TCP connections in 10-stable.  Just to share the current
> status to a wider audience:
> 
>  - I maintain a stack of our TCP performance related patches for
> 10.2-RELENG here:
> 
> https://github.com/verisign/freebsd/commits/10.2/tcp-scale

 Got more request to MFC TCP stack short-lived connection changes (see
below) in 10:

#1 Decrease lock contention within the TCP accept case by removing
the INP_INFO lock from tcp_usr_accept
https://svnweb.freebsd.org/base?view=revision&revision=271119

#2 In tcp_input(), don't acquire the pcbinfo global write lock for SYN
packets targeting a listening socket.
https://svnweb.freebsd.org/base?view=revision&revision=271119

#3 A connection in TIME_WAIT state before calling close() actually did
not received any RST packet.
https://svnweb.freebsd.org/base?view=revision&revision=273014

#4 Decompose TCP INP_INFO lock to increase short-lived TCP connections
scalability
https://svnweb.freebsd.org/base?view=revision&revision=286227

   Fix a kernel assertion issue introduced with r286227
https://svnweb.freebsd.org/base?view=revision&revision=286443

#5 Make clear that TIME_WAIT timeout expiration is managed solely by
tcp_tw_2msl_scan()
https://svnweb.freebsd.org/base?view=revision&revision=286873

 If nobody complains, I plan to MFC them in stable/10.  After actually
quite a bunch of tests as I see a lot of changes that might impact these
MFCs (like TFO support, etc.).

--
Julien

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20160628/fd7487ea/attachment.sig>


More information about the freebsd-net mailing list