1. 11 3月, 2014 16 次提交
    • A
      6lowpan: reassembly: fix access of ctl table entry · 3772ab1d
      Alexander Aring 提交于
      Correct offset is 3 of the 6lowpanfrag_max_datagram_size value in proc
      entry ctl table and not 2.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3772ab1d
    • D
      Merge branch 'hyperv-next' · e3ca6494
      David S. Miller 提交于
      K. Y. Srinivasan says:
      
      ====================
      Drivers: net: hyperv: Enable various offloads
      
      This patch set enables both checksum as well as segmentation offload.
      As part of this effort I have enabled scatter gather I/O a well.
      
      In version 2 of these patches, I addressed comments from David Miller and
      Dan Carpenter.
      
      In this version I have addressed the latest comments from David Miller.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e3ca6494
    • K
      Drivers: net: hyperv: Enable large send offload · 77bf5487
      KY Srinivasan 提交于
      Enable segmentation offload.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      77bf5487
    • K
      Drivers: net: hyperv: Enable send side checksum offload · 08cd04bf
      KY Srinivasan 提交于
      Enable send side checksum offload.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      08cd04bf
    • K
      Drivers: net: hyperv: Enable receive side IP checksum offload · e3d605ed
      KY Srinivasan 提交于
      Enable receive side checksum offload.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e3d605ed
    • K
      Drivers: net: hyperv: Enable offloads on the host · 4a0e70ae
      KY Srinivasan 提交于
      Prior to enabling guest side offloads, enable the offloads on the host.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4a0e70ae
    • K
      Drivers: net: hyperv: Cleanup the send path · 8a00251a
      KY Srinivasan 提交于
      In preparation for enabling offloads, cleanup the send path.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8a00251a
    • K
      Drivers: net: hyperv: Enable scatter gather I/O · 54a7357f
      KY Srinivasan 提交于
      Cleanup the code and enable scatter gather I/O.
      Signed-off-by: NK. Y. Srinivasan <kys@microsoft.com>
      Reviewed-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      54a7357f
    • T
      sky2: allow mac to come from dt · 3ee2f8ce
      Tim Harvey 提交于
      The driver reads the mac address from the device registers which would
      need to have been programmed by the bootloader.  This patch adds
      the ability to pull the mac from devicetree via the pci device dt node.
      Signed-off-by: NTim Harvey <tharvey@gateworks.com>
      Cc: netdev@vger.kernel.org
      Cc: devicetree@vger.kernel.org
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      
      Changes since v2:
       - eliminated use of stack tmpaddr per feedback
      
      Changes since v1:
       - simplified based on feedback
       - fixed formatting
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ee2f8ce
    • E
      l2tp: fix unused variable warning · 746e3499
      Eric Dumazet 提交于
      net/l2tp/l2tp_core.c:1111:15: warning: unused variable
      'sk' [-Wunused-variable]
      
      Fixes: 31c70d59 ("l2tp: keep original skb ownership")
      Reported-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      746e3499
    • K
      IB/mlx5_core: remove unreachable function call in module init · c120e9e0
      Kleber Sacilotto de Souza 提交于
      The call to mlx5_health_cleanup() in the module init function can never
      be reached. Removing it.
      Signed-off-by: NKleber Sacilotto de Souza <klebers@linux.vnet.ibm.com>
      Acked-by: NEli Cohen <eli@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c120e9e0
    • E
      netlink: autosize skb lengthes · 9063e21f
      Eric Dumazet 提交于
      One known problem with netlink is the fact that NLMSG_GOODSIZE is
      really small on PAGE_SIZE==4096 architectures, and it is difficult
      to know in advance what buffer size is used by the application.
      
      This patch adds an automatic learning of the size.
      
      First netlink message will still be limited to ~4K, but if user used
      bigger buffers, then following messages will be able to use up to 16KB.
      
      This speedups dump() operations by a large factor and should be safe
      for legacy applications.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Thomas Graf <tgraf@suug.ch>
      Acked-by: NThomas Graf <tgraf@suug.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9063e21f
    • E
      sfc: Use ether_addr_copy and eth_broadcast_addr · cd84ff4d
      Edward Cree 提交于
      Faster than memcpy/memset on some architectures.
      Signed-off-by: NEdward Cree <ecree@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd84ff4d
    • D
      Merge branch 'gianfar-next' · 19433646
      David S. Miller 提交于
      Claudiu Manoil says:
      
      ====================
      gianfar: Tx timeout issue
      
      There's an older Tx timeout issue showing up on etsec2 devices
      with 2 CPUs.  I pinned this issue down to processing overhead
      incurred by supporting multiple Tx/Rx rings, as explained in
      the 2nd patch below.  But before this, there's also a concurency
      issue leading to Rx/Tx spurrious interrupts, addressed by the
      'Tx NAPI' patch below.
      The Tx timeout can be triggered with multiple Tx flows,
      'iperf -c -N 8' commands, on a 2 CPUs etsec2 based (P1020) board.
      
      Before the patches:
      """
      root@p1020rdb-pc:~# iperf -c 172.16.1.3 -n 1000M -P 8 &
      [...]
      root@p1020rdb-pc:~# NETDEV WATCHDOG: eth1 (fsl-gianfar): transmit queue 1 timed out
      WARNING: at net/sched/sch_generic.c:279
      Modules linked in:
      CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc3-03386-g89ea59c #23
      task: ed84ef40 ti: ed868000 task.ti: ed868000
      NIP: c04627a8 LR: c04627a8 CTR: c02fb270
      REGS: ed869d00 TRAP: 0700   Not tainted  (3.13.0-rc3-03386-g89ea59c)
      MSR: 00029000 <CE,EE,ME>  CR: 44000022  XER: 20000000
      [...]
      
      root@p1020rdb-pc:~# [ ID] Interval       Transfer     Bandwidth
      [  5]  0.0-19.3 sec  1000 MBytes    434 Mbits/sec
      [  8]  0.0-39.7 sec  1000 MBytes    211 Mbits/sec
      [  9]  0.0-40.1 sec  1000 MBytes    209 Mbits/sec
      [  3]  0.0-40.2 sec  1000 MBytes    209 Mbits/sec
      [ 10]  0.0-59.0 sec  1000 MBytes    142 Mbits/sec
      [  7]  0.0-74.6 sec  1000 MBytes    112 Mbits/sec
      [  6]  0.0-74.7 sec  1000 MBytes    112 Mbits/sec
      [  4]  0.0-74.7 sec  1000 MBytes    112 Mbits/sec
      [SUM]  0.0-74.7 sec  7.81 GBytes    898 Mbits/sec
      
      root@p1020rdb-pc:~# ifconfig eth1
      eth1      Link encap:Ethernet  HWaddr 00:04:9f:00:13:01
                inet addr:172.16.1.1  Bcast:172.16.255.255  Mask:255.255.0.0
                inet6 addr: fe80::204:9fff:fe00:1301/64 Scope:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:708722 errors:0 dropped:0 overruns:0 frame:0
                TX packets:8717849 errors:6 dropped:0 overruns:1470 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:58118018 (55.4 MiB)  TX bytes:274069482 (261.3 MiB)
                Base address:0xa000
      
      """
      
      After applying the patches:
      """
      root@p1020rdb-pc:~# iperf -c 172.16.1.3 -n 1000M -P 8 &
      [...]
      root@p1020rdb-pc:~# [ ID] Interval       Transfer     Bandwidth
      [  9]  0.0-70.5 sec  1000 MBytes    119 Mbits/sec
      [  5]  0.0-70.5 sec  1000 MBytes    119 Mbits/sec
      [  6]  0.0-70.7 sec  1000 MBytes    119 Mbits/sec
      [  4]  0.0-71.0 sec  1000 MBytes    118 Mbits/sec
      [  8]  0.0-71.1 sec  1000 MBytes    118 Mbits/sec
      [  3]  0.0-71.2 sec  1000 MBytes    118 Mbits/sec
      [ 10]  0.0-71.3 sec  1000 MBytes    118 Mbits/sec
      [  7]  0.0-71.3 sec  1000 MBytes    118 Mbits/sec
      [SUM]  0.0-71.3 sec  7.81 GBytes    942 Mbits/sec
      
      root@p1020rdb-pc:~# ifconfig eth1
      eth1      Link encap:Ethernet  HWaddr 00:04:9f:00:13:01
                inet addr:172.16.1.1  Bcast:172.16.255.255  Mask:255.255.0.0
                inet6 addr: fe80::204:9fff:fe00:1301/64 Scope:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:728446 errors:0 dropped:0 overruns:0 frame:0
                TX packets:8690057 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:59732650 (56.9 MiB)  TX bytes:271554306 (258.9 MiB)
                Base address:0xa000
      """
      v2: PATCH 2:
          Replaced CPP check with run-time condition to
          limit the number of queues. Updated comments.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      19433646
    • C
      gianfar: Use Single-Queue polling for "fsl,etsec2" · 71ff9e3d
      Claudiu Manoil 提交于
      For the "fsl,etsec2" compatible models the driver currently
      supports 8 Tx and Rx DMA rings (aka HW queues).  However, there
      are only 2 pairs of Rx/Tx interrupt lines, as these controllers
      are integrated in low power SoCs with 2 CPUs at most.  As a result,
      there are at most 2 NAPI instances that have to service multiple
      Tx and Rx queues for these devices.  This complicates the NAPI
      polling routine having to iterate over the mutiple Rx/Tx queues
      hooked to the same interrupt lines.  And there's also an overhead
      at HW level, as the controller needs to service all the 8 Tx rings
      in a round robin manner.  The combined overhead shows up for multi
      parallel Tx flows transmitted by the kernel stack, when the driver
      usually starts returning NETDEV_TX_BUSY leading to NETDEV WATCHDOG
      Tx timeout triggering if the Tx path is congested for too long.
      
      As an alternative, this patch makes the driver support only one
      Tx/Rx DMA ring per NAPI instance (per interrupt group or pair
      of Tx/Rx interrupt lines) by default.  The simplified single queue
      polling routine (gfar_poll_sq) will be the default napi poll routine
      for the etsec2 devices too.  Some adjustments needed to be made to
      link the Tx/Rx HW queues with each NAPI instance (2 in this case).
      The gfar_poll_sq() is already successfully used by older SQ_SG_MODE
      (single interrupt group) controllers.
      This patch fixes Tx timeout triggering under heavy Tx traffic load
      (i.e. iperf -c -P 8) for the "fsl,etsec2" (currently the only
      MQ_MG_MODE devices).  There's also a significant memory footprint
      reduction by supporting 2 Rx/Tx DMA rings (at most), instead of 8,
      for these devices.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      71ff9e3d
    • C
      gianfar: Separate out the Tx interrupt handling (Tx NAPI) · aeb12c5e
      Claudiu Manoil 提交于
      There are some concurrency issues on devices w/ 2 CPUs related
      to the handling of Rx and Tx interrupts.  eTSEC has separate
      interrupt lines for Rx and Tx but a single imask register
      to mask these interrupts and a single NAPI instance to handle
      both Rx and Tx work.  As a result, the Rx and Tx ISRs are
      identical, both are invoking gfar_schedule_cleanup(), however
      both handlers can be entered at the same time when the Rx and
      Tx interrupts are taken by different CPUs.  In this case
      spurrious interrupts (SPU) show up (in /proc/interrupts)
      indicating a concurrency issue.  Also, Tx overruns followed
      by Tx timeout have been observed under heavy Tx traffic load.
      
      To address these issues, the schedule cleanup ISR part has
      been changed to handle the Rx and Tx interrupts independently.
      The patch adds a separate NAPI poll routine for Tx cleanup to
      be triggerred independently by the Tx confirmation interrupts
      only.  Existing poll functions are modified to handle only
      the Rx path processing.  The Tx poll routine does not need a
      budget, since Tx processing doesn't consume NAPI budget, and
      hence it is registered with minimum NAPI weight.
      NAPI scheduling does not require locking since there are
      different NAPI instances between the Rx and Tx confirmation
      paths now.
      So, the patch fixes the occurence of spurrious Rx/Tx interrupts.
      Tx overruns also occur less frequently now.
      Signed-off-by: NClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      aeb12c5e
  2. 10 3月, 2014 2 次提交
  3. 09 3月, 2014 2 次提交
    • E
      pkt_sched: fq: do not hold qdisc lock while allocating memory · 2d8d40af
      Eric Dumazet 提交于
      Resizing fq hash table allocates memory while holding qdisc spinlock,
      with BH disabled.
      
      This is definitely not good, as allocation might sleep.
      
      We can drop the lock and get it when needed, we hold RTNL so no other
      changes can happen at the same time.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Fixes: afe4fd06 ("pkt_sched: fq: Fair Queue packet scheduler")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d8d40af
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next · d85ea93f
      David S. Miller 提交于
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates
      
      This series contains updates to e1000e, ixgbevf and igb.
      
      Majority of this series contains fixes and cleanups to e1000e,
      most notably are:
      
      Todd provides a fix to PTP in e1000e which adds a lock in e1000e_phc_adjfreq
      to prevent concurrent changes to TIMINCA and SYSTIMH/L.  Then provides an
      igb fix to use ARRAY_SIZE for array size calculation.
      
      David provides the remaining e1000e which contain:
       - cleanup of pointer references that are no longer used
       - fix an issue on systems with Management Engine enabled with the
         ethernet cable unplugged
       - fix an issue on 82579 where enabling EEE LPI sooner than one second
         after link up causes link issues on some switches
       - refactor the power management flows to prevent the suspend path from
         being executed twice when hibernating
       - refactor the runtime power management to fix interfering with the
         functionality of Energy Efficient Ethernet when enabled and to fix
         the device from repeatedly flip between suspend and resume with the
         interface administratively downed
       - enable the feature PHY Ultra Low Power Mode which is a power saving
         feature that reduces the power consumption of the PHY when a cable is
         not connected
       - fix the ethtool offline tests for 82579 parts
       - fix SHRA register access for 82579 parts which was introduced by
         previous commit c3a0dce3 "e1000e: fix overrun of PHY RAR array"
      
      Florian provides a fix for ixgbevf where skb->pkt_type was being checked
      like a bitmask, but it is not a bitmask.
      
      Fix an issue reported by Stephen Hemminger where there was a warning
      about code defined but never used if IGB_HWMON is not defined.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d85ea93f
  4. 08 3月, 2014 20 次提交