1. 11 3月, 2014 1 次提交
    • 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 35 次提交