1. 07 3月, 2013 1 次提交
  2. 05 2月, 2013 1 次提交
  3. 30 1月, 2013 1 次提交
  4. 13 1月, 2013 1 次提交
    • S
      be2net: fix unconditionally returning IRQ_HANDLED in INTx · d0b9cec3
      Sathya Perla 提交于
      commit e49cc34f introduced an unconditional IRQ_HANDLED return in be_intx()
      to workaround Lancer and BE2 HW issues. This is bad as it prevents the kernel
      from detecting interrupt storms due to broken HW.
      
      The BE2/Lancer HW issues are:
      1) In Lancer, there is no means for the driver to detect if the interrupt
      belonged to device, other than counting and notifying events.
      2) In Lancer de-asserting INTx takes a while, causing the INTx irq handler
      to be called multiple times till the de-assert happens.
      3) In BE2, we see an occasional interrupt even when EQs are unarmed.
      
      Issue (1) can cause the notified events to be orphaned, if NAPI was already
      running.
      This patch fixes this issue by scheduling NAPI only if it is not scheduled
      already. Doing this also takes care of possible events_get() race that may be
      caused due to issue (2) and (3). Also, IRQ_HANDLED is returned only the first
      time zero events are detected.
      (Thanks Ben H. for the feedback and suggestions.)
      Signed-off-by: NSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0b9cec3
  5. 19 12月, 2012 1 次提交
    • S
      be2net: fix wrong frag_idx reported by RX CQ · d23e946c
      Sathya Perla 提交于
      The RX CQ can report completions with invalid frag_idx when the RXQ that
      was *previously* using it, was not cleaned up properly. This hits
      a BUG_ON() in be2net.
      
      When completion coalescing is enabled on a CQ, an explicit CQ-notify
      (with rearm) is needed for each compl, to flush partially coalesced CQ
      entries that are pending DMA.
      
      In be_close(), this fix now notifies CQ for each compl, waits explicitly
      for the flush compl to arrive and complains if it doesn't arrive.
      
      Also renaming be_crit_error() to be_hw_error() as it's the more
      appropriate name and to convey that we don't wait for the flush compl
      only when a HW error has occurred.
      Signed-off-by: NSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d23e946c
  6. 08 11月, 2012 5 次提交
  7. 22 10月, 2012 6 次提交
  8. 30 9月, 2012 1 次提交
  9. 31 8月, 2012 1 次提交
  10. 17 7月, 2012 1 次提交
  11. 12 7月, 2012 3 次提交
  12. 09 7月, 2012 1 次提交
  13. 27 6月, 2012 1 次提交
  14. 07 6月, 2012 1 次提交
  15. 19 5月, 2012 1 次提交
  16. 11 5月, 2012 1 次提交
  17. 09 5月, 2012 1 次提交
  18. 27 4月, 2012 1 次提交
  19. 26 4月, 2012 1 次提交
  20. 24 4月, 2012 1 次提交
  21. 20 3月, 2012 3 次提交
  22. 02 3月, 2012 1 次提交
  23. 24 2月, 2012 2 次提交
  24. 13 2月, 2012 1 次提交
    • S
      be2net: event queue re-design · 10ef9ab4
      Sathya Perla 提交于
      v2: Fixed up the bad typecasting pointed out by David...
      
      In the current design 8 TXQs are serviced by 1 EQ, while each RSS queue
      is serviced by a separate EQ. This is being changed as follows:
      
      - Upto 8 EQs will be used (based on the availabilty of msix vectors).
      Each EQ will handle 1 RSS and 1 TX ring. The default non-RSS RX queue and
      MCC queue are handled by the last EQ.
      
      - On cards which provide support, upto 8 RSS rings will be used, instead
      of the current limit of 4.
      
      The new design allows spreading the TX multi-queue completion processing
      across multiple CPUs unlike the previous design.
      Signed-off-by: NSathya Perla <sathya.perla@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      10ef9ab4
  25. 02 2月, 2012 1 次提交
  26. 27 1月, 2012 1 次提交
    • E
      be2net: allocate more headroom in incoming skbs · bb349bb4
      Eric Dumazet 提交于
      Allocation of 64 bytes in skb headroom is not enough if we have to pull
      ethernet + ipv6 + tcp headers, and/or extra tunneling header.
      
      Its currently not noticed because netdev_alloc_skb_ip_align(64) give us
      more room, thanks to power-of-two kmalloc() roundups.
      
      Make sure we ask for 128 bytes so that side effects of upcoming patches
      from Ian Campbell dont decrease benet rx performance, because of extra
      skb head reallocations.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Ian Campbell <Ian.Campbell@citrix.com>
      Cc: Vasundhara Volam <vasundhara.volam@emulex.com>
      Cc: Sathya Perla <sathya.perla@emulex.com>
      Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bb349bb4