lkml.org 
[lkml]   [2018]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH net-next] tcp: minor optimization for calculating packets_out in tcp connect
    Date
    When we building a syn packet, the tcp_skb_pcount(skb) is always 1,
    which is set in tcp_init_nondata_skb().
    Regarding the syn_data, it is set through
    memcpy(syn_data->cb, syn->cb, sizeof(syn->cb)),
    which is always 1 as well.

    So we don't need to use tcp_skb_pcount(skb), that could give us a
    little improvement.

    Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
    ---
    net/ipv4/tcp_output.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
    index 730bc44..12bb5e7 100644
    --- a/net/ipv4/tcp_output.c
    +++ b/net/ipv4/tcp_output.c
    @@ -3404,7 +3404,7 @@ static void tcp_connect_queue_skb(struct sock *sk, struct sk_buff *skb)
    sk->sk_wmem_queued += skb->truesize;
    sk_mem_charge(sk, skb->truesize);
    tp->write_seq = tcb->end_seq;
    - tp->packets_out += tcp_skb_pcount(skb);
    + tp->packets_out += 1;
    }

    /* Build and send a SYN with data and (cached) Fast Open cookie. However,
    @@ -3486,7 +3486,7 @@ static int tcp_send_syn_data(struct sock *sk, struct sk_buff *syn)

    /* data was not sent, put it in write_queue */
    __skb_queue_tail(&sk->sk_write_queue, syn_data);
    - tp->packets_out -= tcp_skb_pcount(syn_data);
    + tp->packets_out -= 1;

    fallback:
    /* Send a regular SYN with Fast Open cookie request option */
    --
    1.8.3.1
    \
     
     \ /
      Last update: 2018-12-15 10:34    [W:2.270 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site