1. 01 Aug, 2013 32 commits
  2. 31 Jul, 2013 8 commits
    • Eric Dumazet's avatar
      net: skb_orphan() changes · c34a7612
      Eric Dumazet authored
      It is illegal to set skb->sk without corresponding destructor.
      
      Its therefore safe for skb_orphan() to not clear skb->sk if
      skb->destructor is not set.
      
      Also avoid clearing skb->destructor if already NULL.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c34a7612
    • Eric Dumazet's avatar
      netem: Introduce skb_orphan_partial() helper · f2f872f9
      Eric Dumazet authored
      Commit 547669d4 ("tcp: xps: fix reordering issues") added
      unexpected reorders in case netem is used in a MQ setup for high
      performance test bed.
      
      ETH=eth0
      tc qd del dev $ETH root 2>/dev/null
      tc qd add dev $ETH root handle 1: mq
      for i in `seq 1 32`
      do
       tc qd add dev $ETH parent 1:$i netem delay 100ms
      done
      
      As all tcp packets are orphaned by netem, TCP stack believes it can
      set skb->ooo_okay on all packets.
      
      In order to allow producers to send more packets, we want to
      keep sk_wmem_alloc from reaching sk_sndbuf limit.
      
      We can do that by accounting one byte per skb in netem queues,
      so that TCP stack is not fooled too much.
      
      Tested:
      
      With above MQ/netem setup, scaling number of concurrent flows gives
      linear results and no reorders/retransmits
      
      lpq83:~# for n in 1 10 20 30 40 50 60 70 80 90 100
       do echo -n "n:$n " ; ./super_netperf $n -H 10.7.7.84; done
      n:1 198.46
      n:10 2002.69
      n:20 4000.98
      n:30 6006.35
      n:40 8020.93
      n:50 10032.3
      n:60 12081.9
      n:70 13971.3
      n:80 16009.7
      n:90 17117.3
      n:100 17425.5
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f2f872f9
    • fan.du's avatar
      net: split rt_genid for ipv4 and ipv6 · ca4c3fc2
      fan.du authored
      Current net name space has only one genid for both IPv4 and IPv6, it has below
      drawbacks:
      
      - Add/delete an IPv4 address will invalidate all IPv6 routing table entries.
      - Insert/remove XFRM policy will also invalidate both IPv4/IPv6 routing table
        entries even when the policy is only applied for one address family.
      
      Thus, this patch attempt to split one genid for two to cater for IPv4 and IPv6
      separately in a fine granularity.
      Signed-off-by: default avatarFan Du <fan.du@windriver.com>
      Acked-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca4c3fc2
    • Laurent Pinchart's avatar
      sh_eth: r8a7790: Handle the RFE (Receive FIFO overflow Error) interrupt · ba361cb3
      Laurent Pinchart authored
      The RFE interrupt is enabled for the r8a7790 but isn't handled,
      resulting in the interrupts core noticing unhandled interrupts, and
      eventually disabling the ethernet IRQ.
      
      Fix it by adding RFE to the bitmask of error interrupts to be handled
      for r8a7790.
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba361cb3
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · 5e24f74b
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      This series contains updates to ixgbe and pci.
      
      The first patch for ixgbe from Greg Rose is the second submission.  The
      first submission of "ixgbe: Retain VLAN filtering in promiscuous + VT
      mode" had a typo, which Joe Perches pointed out and is fixed in this
      submission.
      
      Alex updates the ixgbe driver to use the generic helper pci_vfs_assigned
      instead of the driver specific function ixgbe_vfs_are_assigned.
      
      Don Skidmore provides 4 patches for ixgbe, the first being a fix for
      flow control ethtool reporting.  Originally ixgbe_device_supports_autoneg_fc()
      was expected to be called by only copper devices, which lead to false
      information being displayed via ethtool.  Two other patches add support
      for fixed fiber for SFP+ devices and the addition of a quad-port x520
      adapter.  The last patch simply bumps the driver version.
      
      Emil Tantilov provides 3 fixes for ixgbe, two of which resolve
      semaphore lock issues.  The third fix resolves several issues in the
      previous implementation of the SFF data dumps of SFP+ modules.
      
      The remaining ixgbe and pci patches are from Jacob Keller.  The pci
      patches exposes bus speed, link speed and bus width so that drivers
      can take advantage of this information.  In addition, adds a pci function
      which obtains minimum link width and speed.  Jacob also provides the
      ixgbe patch to incorporate the pci function. He provides a patch that
      fixes a lockdep issue created due to ixgbe_ptp_stop always running
      cancel_work_sync even if the work item had not been created properly with
      INIT_WORK. This issue was found and reported by Stephen Hemminger.
      
      -v2-
      * fix patch 3 to be a bool function based on David Miller's feedback
      * fix patch 4 debug message based on David Miller's feedback
      * fix patch 8 moved the extern declarations to pci.h based on Bjorn
        Helgaas's feedback
      * fix patch 11 update the error message to include encoding loss based
      * fix patch 8/9/10 title based on Bjorn's feedback
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e24f74b
    • Dmitry Popov's avatar
      tcp: Remove unused tcpct declarations and comments · c0155b2d
      Dmitry Popov authored
      Remove declaration, 4 defines and confusing comment that are no longer used
      since 1a2c6181 ("tcp: Remove TCPCT").
      Signed-off-by: default avatarDmitry Popov <dp@highloadlab.com>
      Acked-by: default avatarChristoph Paasch <christoph.paasch@uclouvain.be>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c0155b2d
    • Don Skidmore's avatar
      ixgbe: add support for quad-port x520 adapter · 8f58332b
      Don Skidmore authored
      This is a x520 based quad-port (4x10Gbps) NIC with a single QSFP+
      connector.  Changes were required to our identify functions due to
      different eeprom address which is also included here.
      Signed-off-by: default avatarDon Skidmore <donald.c.skidmore@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      8f58332b
    • Emil Tantilov's avatar
      ixgbe: clear semaphore bits on timeouts · 674c18b2
      Emil Tantilov authored
      This patch changes the error code path in ixgbe_acquire_swfw_sync() to deal
      with cases where acquiring SW semaphore times out.
      
      In cases where the SW/FW semaphore bits were set (i.e. due to a crash) the
      driver will hang on load. With this patch the driver will clear
      the stuck bits if the semaphore was not acquired in the allotted time.
      Signed-off-by: default avatarEmil Tantilov <emil.s.tantilov@intel.com>
      Tested-by: default avatarPhil Schmitt <phillip.j.schmitt@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      674c18b2