1. 22 5月, 2008 3 次提交
  2. 13 5月, 2008 1 次提交
  3. 26 3月, 2008 1 次提交
    • R
      cxgb3: Fix lockdep problems with sge.reg_lock · b1186dee
      Roland Dreier 提交于
      Using iWARP with a Chelsio T3 NIC generates the following lockdep warning:
      
          =================================
          [ INFO: inconsistent lock state ]
          2.6.25-rc6 #50
          ---------------------------------
          inconsistent {softirq-on-W} -> {in-softirq-W} usage.
          swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes:
           (&adap->sge.reg_lock){-+..}, at: [<ffffffff880e5ee2>] cxgb_offload_ctl+0x3af/0x507 [cxgb3]
      
      The problem is that reg_lock is used with plain spin_lock() in
      drivers/net/cxgb3/sge.c but is used with spin_lock_irqsave() in
      drivers/net/cxgb3/cxgb3_offload.c.  This is technically a false
      positive, since the uses in sge.c are only in the initialization and
      cleanup paths and cannot overlap with any use in interrupt context.
      
      The best fix is probably just to use spin_lock_irq() with reg_lock in
      sge.c.  Even though it's not strictly required for correctness, it
      avoids triggering lockdep and the extra overhead of disabling
      interrupts is not important at all in the initialization and cleanup
      slow paths.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      b1186dee
  4. 17 3月, 2008 1 次提交
    • D
      cxgb3: Fix transmit queue stop mechanism · cd7e9034
      Divy Le Ray 提交于
      The last change in the Tx queue stop mechanism opens a window
      where the Tx queue might be stopped after pending credits
      returned.
      
      Tx credits are returned via a control message generated by the HW.
      It returns tx credits on demand, triggered by a completion bit
      set in selective transmit packet headers.
      
      The current code can lead to the Tx queue stopped
      with all pending credits returned, and the current frame
      not triggering a credit return. The Tx queue will then never be
      awaken.
      
      The driver could alternatively request a completion for packets
      that stop the queue. It's however safer at this point to go back
      to the pre-existing behaviour.
      Signed-off-by: NDivy Le Ray <divy@chelsio.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      cd7e9034
  5. 11 2月, 2008 1 次提交
    • K
      Optimize cxgb3 xmit path (a bit) · a8cc21f6
      Krishna Kumar 提交于
      	1. Add common code for stopping queue.
      	2. No need to call netif_stop_queue followed by netif_wake_queue (and
      	   infact a netif_start_queue could have been used instead), instead
      	   call stop_queue if required, and remove code under USE_GTS macro.
      	3. There is no need to check for netif_queue_stopped, as the network
      	   core guarantees that for us (I am sure every driver could remove
      	   that check, eg e1000 - I have tested that path a few billion times
      	   with about a few hundred thousand qstops but the condition never
      	   hit even once).
      Signed-off-by: NKrishna Kumar <krkumar2@in.ibm.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      a8cc21f6
  6. 03 2月, 2008 1 次提交
  7. 29 1月, 2008 5 次提交
  8. 24 10月, 2007 1 次提交
  9. 11 10月, 2007 5 次提交
  10. 31 8月, 2007 1 次提交
  11. 09 7月, 2007 1 次提交
  12. 21 6月, 2007 2 次提交
  13. 26 4月, 2007 12 次提交
  14. 04 4月, 2007 1 次提交
  15. 27 2月, 2007 3 次提交
  16. 06 2月, 2007 1 次提交