Message ID | 20190117192342.71126-1-edumazet@google.com |
---|---|
Headers | show |
Series | tcp: remove code from tcp_create_openreq_child() | expand |
On Thu, Jan 17, 2019 at 11:23 AM Eric Dumazet <edumazet@google.com> wrote: > > 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. > > Eric Dumazet (11): > tcp: do not set snd_ssthresh in tcp_create_openreq_child() > tcp: move icsk_rto init to tcp_disconnect() > tcp: do not clear packets_out in tcp_create_openreq_child() > tcp: do not clear srtt_us in tcp_create_openreq_child > tcp: move mdev_us init to tcp_disconnect() > tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() > tcp: do not clear urg_data in tcp_create_openreq_child > tcp: move retrans_out,sacked_out,tlp_high_seq,last_oow_ack_time init > to tcp_disconnect() > tcp: move app_limited init to tcp_disconnect() > tcp: move tp->rack init to tcp_disconnect() > tcp: move rx_opt & syn_data_acked init to tcp_disconnect() > > net/ipv4/tcp.c | 21 ++++++++++++++++++++- > net/ipv4/tcp_minisocks.c | 34 ---------------------------------- > 2 files changed, 20 insertions(+), 35 deletions(-) > > -- Entire patch set looks great to me! Acked-by: Yuchung Cheng <ycheng@google.com> > 2.20.1.321.g9e740568ce-goog >
On Thu, Jan 17, 2019 at 5:20 PM Yuchung Cheng <ycheng@google.com> wrote: > > On Thu, Jan 17, 2019 at 11:23 AM Eric Dumazet <edumazet@google.com> wrote: > > > > 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. > > > > Eric Dumazet (11): > > tcp: do not set snd_ssthresh in tcp_create_openreq_child() > > tcp: move icsk_rto init to tcp_disconnect() > > tcp: do not clear packets_out in tcp_create_openreq_child() > > tcp: do not clear srtt_us in tcp_create_openreq_child > > tcp: move mdev_us init to tcp_disconnect() > > tcp: move snd_cwnd & snd_cwnd_cnt init to tcp_disconnect() > > tcp: do not clear urg_data in tcp_create_openreq_child > > tcp: move retrans_out,sacked_out,tlp_high_seq,last_oow_ack_time init > > to tcp_disconnect() > > tcp: move app_limited init to tcp_disconnect() > > tcp: move tp->rack init to tcp_disconnect() > > tcp: move rx_opt & syn_data_acked init to tcp_disconnect() > > > > net/ipv4/tcp.c | 21 ++++++++++++++++++++- > > net/ipv4/tcp_minisocks.c | 34 ---------------------------------- > > 2 files changed, 20 insertions(+), 35 deletions(-) > > > > -- > Entire patch set looks great to me! > > Acked-by: Yuchung Cheng <ycheng@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Thank you very much, Eric, for the nice code removal! > > 2.20.1.321.g9e740568ce-goog > >
From: Eric Dumazet <edumazet@google.com> Date: Thu, 17 Jan 2019 11:23:31 -0800 > 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. Series applied, thanks Eric.