1. 22 May, 2014 2 commits
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 758bd61a
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates
      
      This series contains updates to i40e and i40evf.
      
      Shannon makes minor changes to the AdminQ interface to bring it up to
      date.  Removes the hard coding of stats struct size in ethtool, in prep
      for adding data fields which are configuration dependent.
      
      Catherine removes some unused and unneeded PCI bus defines.
      
      Jesse fixes the copyright headers and finishes up the removal of the PTP
      Tx work functionality which allows us to rely on the Tx timesync interrupt.
      
      Mitch provides a number of fixes and cleanups for i40e/i40evf based on
      suggestions from Ben Hutchings.  First is to use a macro parameter for
      ethtool stats instead of just assuming that a valid netdev variable
      exists.  Second is not to tell ethtool that the VF can do 10GbaseT, when
      it really has no idea what its link speed is, so set the supported value
      to 0 instead.  Make the ethtool_ops structure constant since it is
      extremely unlikely to change at runtime.  Ethtool consistently reports
      0 values for our ITR settings because we never actually use them, so
      fix this by setting the default values to the specified default values.
      
      Greg avoids a compile error by wrapping the call to i40e_alloc_vfs() in
      CONFIG_PCI_IOV because the function itself is wrapped in the same
      conditional compile block.
      
      Alexander Gordeev updates the driver to use the new pci_enable_msi_range()
      and pci_enable_msix_range() or pci_enable_msi_exact() and
      pci_enable_msix_exact().
      
      Jean Sacren provides a fix where the wrong error code was being passed to
      i40e_open().
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      758bd61a
    • Neal Cardwell's avatar
      tcp: make cwnd-limited checks measurement-based, and gentler · ca8a2263
      Neal Cardwell authored
      Experience with the recent e114a710 ("tcp: fix cwnd limited
      checking to improve congestion control") has shown that there are
      common cases where that commit can cause cwnd to be much larger than
      necessary. This leads to TSO autosizing cooking skbs that are too
      large, among other things.
      
      The main problems seemed to be:
      
      (1) That commit attempted to predict the future behavior of the
      connection by looking at the write queue (if TSO or TSQ limit
      sending). That prediction sometimes overestimated future outstanding
      packets.
      
      (2) That commit always allowed cwnd to grow to twice the number of
      outstanding packets (even in congestion avoidance, where this is not
      needed).
      
      This commit improves both of these, by:
      
      (1) Switching to a measurement-based approach where we explicitly
      track the largest number of packets in flight during the past window
      ("max_packets_out"), and remember whether we were cwnd-limited at the
      moment we finished sending that flight.
      
      (2) Only allowing cwnd to grow to twice the number of outstanding
      packets ("max_packets_out") in slow start. In congestion avoidance
      mode we now only allow cwnd to grow if it was fully utilized.
      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>
      ca8a2263
  2. 21 May, 2014 28 commits
  3. 19 May, 2014 10 commits