OSDN Git Service

Merge branch 'tcp_openreq_child'
authorDavid S. Miller <davem@davemloft.net>
Fri, 18 Jan 2019 06:19:05 +0000 (22:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jan 2019 06:19:05 +0000 (22:19 -0800)
commit435f3f267780321a1aff41bdade257722328ead5
treee432d56cc0b4e01edc9e755e231143a6afea0613
parentbec03debe2e5ebc1c8bb811852b6106ce2129d71
parent6bcdc40dddfe79408e809ec1e2c13f08c863c0b2
Merge branch 'tcp_openreq_child'

Eric Dumazet says:

====================
tcp: remove code from tcp_create_openreq_child()

tcp_create_openreq_child() is essentially cloning a listener, then
must initialize some fields that can not be inherited.

Listeners are either fresh sockets, or sockets that came through
tcp_disconnect() after a session that dirtied many fields.

By moving code to tcp_disconnect(), we can shorten time taken
to create a clone, since tcp_disconnect() operation is very
unlikely.
====================

Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>