1. 23 Sep, 2015 21 commits
  2. 22 Sep, 2015 16 commits
  3. 21 Sep, 2015 3 commits
    • Florian Fainelli's avatar
      net: bcmgenet: Remove duplicate test for tx_coalesce_usecs_high · 852bcafb
      Florian Fainelli authored
      We were checking twice for ec->tx_coalesce_usecs_high, remove the
      duplicate test.
      Reported-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
      Reported-by: kbuild-all@01.org
      Fixes: 2f913070 ("net: bcmgenet: Implement TX coalescing control knobs")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      852bcafb
    • Yuchung Cheng's avatar
      tcp: send loss probe after 1s if no RTT available · f9b99582
      Yuchung Cheng authored
      This patch makes TLP to use 1 sec timer by default when RTT is
      not available due to SYN/ACK retransmission or SYN cookies.
      
      Prior to this change, the lack of RTT prevents TLP so the first
      data packets sent can only be recovered by fast recovery or RTO.
      If the fast recovery fails to trigger the RTO is 3 second when
      SYN/ACK is retransmitted. With this patch we can trigger fast
      recovery in 1sec instead.
      
      Note that we need to check Fast Open more properly. A Fast Open
      connection could be (accepted then) closed before it receives
      the final ACK of 3WHS so the state is FIN_WAIT_1. Without the
      new check, TLP will retransmit FIN instead of SYN/ACK.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarNandita Dukkipati <nanditad@google.com>
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f9b99582
    • Yuchung Cheng's avatar
      tcp: usec resolution SYN/ACK RTT · 0f1c28ae
      Yuchung Cheng authored
      Currently SYN/ACK RTT is measured in jiffies. For LAN the SYN/ACK
      RTT is often measured as 0ms or sometimes 1ms, which would affect
      RTT estimation and min RTT samping used by some congestion control.
      
      This patch improves SYN/ACK RTT to be usec resolution if platform
      supports it. While the timestamping of SYN/ACK is done in request
      sock, the RTT measurement is carefully arranged to avoid storing
      another u64 timestamp in tcp_sock.
      
      For regular handshake w/o SYNACK retransmission, the RTT is sampled
      right after the child socket is created and right before the request
      sock is released (tcp_check_req() in tcp_minisocks.c)
      
      For Fast Open the child socket is already created when SYN/ACK was
      sent, the RTT is sampled in tcp_rcv_state_process() after processing
      the final ACK an right before the request socket is released.
      
      If the SYN/ACK was retransmistted or SYN-cookie was used, we rely
      on TCP timestamps to measure the RTT. The sample is taken at the
      same place in tcp_rcv_state_process() after the timestamp values
      are validated in tcp_validate_incoming(). Note that we do not store
      TS echo value in request_sock for SYN-cookies, because the value
      is already stored in tp->rx_opt used by tcp_ack_update_rtt().
      
      One side benefit is that the RTT measurement now happens before
      initializing congestion control (of the passive side). Therefore
      the congestion control can use the SYN/ACK RTT.
      Signed-off-by: default avatarYuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarNeal Cardwell <ncardwell@google.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f1c28ae