1. 11 11月, 2005 6 次提交
    • J
      [TCP]: receive buffer growth limiting with mixed MTU · 326f36e9
      John Heffner 提交于
      This is a patch for discussion addressing some receive buffer growing issues.
      This is partially related to the thread "Possible BUG in IPv4 TCP window
      handling..." last week.
      
      Specifically it addresses the problem of an interaction between rcvbuf
      moderation (receiver autotuning) and rcv_ssthresh.  The problem occurs when
      sending small packets to a receiver with a larger MTU.  (A very common case I
      have is a host with a 1500 byte MTU sending to a host with a 9k MTU.)  In
      such a case, the rcv_ssthresh code is targeting a window size corresponding
      to filling up the current rcvbuf, not taking into account that the new rcvbuf
      moderation may increase the rcvbuf size.
      
      One hunk makes rcv_ssthresh use tcp_rmem[2] as the size target rather than
      rcvbuf.  The other changes the behavior when it overflows its memory bounds
      with in-order data so that it tries to grow rcvbuf (the same as with
      out-of-order data).
      
      These changes should help my problem of mixed MTUs, and should also help the
      case from last week's thread I think.  (In both cases though you still need
      tcp_rmem[2] to be set much larger than the TCP window.)  One question is if
      this is too aggressive at trying to increase rcvbuf if it's under memory
      stress.
      
      Orignally-from: John Heffner <jheffner@psc.edu>
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      326f36e9
    • S
      [TCP]: Appropriate Byte Count support · 9772efb9
      Stephen Hemminger 提交于
      This is an updated version of the RFC3465 ABC patch originally
      for Linux 2.6.11-rc4 by Yee-Ting Li. ABC is a way of counting
      bytes ack'd rather than packets when updating congestion control.
      
      The orignal ABC described in the RFC applied to a Reno style
      algorithm. For advanced congestion control there is little
      change after leaving slow start.
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9772efb9
    • S
      [TCP]: add tcp_slow_start helper · 7faffa1c
      Stephen Hemminger 提交于
      Move all the code that does linear TCP slowstart to one
      inline function to ease later patch to add ABC support.
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7faffa1c
    • S
      [TCP]: simplify microsecond rtt sampling · 2d2abbab
      Stephen Hemminger 提交于
      Simplify the code that comuputes microsecond rtt estimate used
      by TCP Vegas. Move the callback out of the RTT sampler and into
      the end of the ack cleanup.
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d2abbab
    • S
      [TCP]: fix congestion window update when using TSO deferal · f4805ede
      Stephen Hemminger 提交于
      TCP peformance with TSO over networks with delay is awful.
      On a 100Mbit link with 150ms delay, we get 4Mbits/sec with TSO and
      50Mbits/sec without TSO.
      
      The problem is with TSO, we intentionally do not keep the maximum
      number of packets in flight to fill the window, we hold out to until 
      we can send a MSS chunk. But, we also don't update the congestion window 
      unless we have filled, as per RFC2861.
      
      This patch replaces the check for the congestion window being full
      with something smarter that accounts for TSO.
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4805ede
    • H
      [NET]: Detect hardware rx checksum faults correctly · fb286bb2
      Herbert Xu 提交于
      Here is the patch that introduces the generic skb_checksum_complete
      which also checks for hardware RX checksum faults.  If that happens,
      it'll call netdev_rx_csum_fault which currently prints out a stack
      trace with the device name.  In future it can turn off RX checksum.
      
      I've converted every spot under net/ that does RX checksum checks to
      use skb_checksum_complete or __skb_checksum_complete with the
      exceptions of:
      
      * Those places where checksums are done bit by bit.  These will call
      netdev_rx_csum_fault directly.
      
      * The following have not been completely checked/converted:
      
      ipmr
      ip_vs
      netfilter
      dccp
      
      This patch is based on patches and suggestions from Stephen Hemminger
      and David S. Miller.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb286bb2
  2. 10 11月, 2005 26 次提交
  3. 09 11月, 2005 8 次提交