1. 20 7月, 2012 2 次提交
    • M
      IB/qib: Add congestion control agent implementation · 36a8f01c
      Mike Marciniszyn 提交于
      Add a congestion control agent in the driver that handles gets and
      sets from the congestion control manager in the fabric for the
      Performance Scale Messaging (PSM) library.
      Signed-off-by: NMike Marciniszyn <mike.marciniszyn@intel.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      36a8f01c
    • M
      IB/qib: Reduce sdma_lock contention · 551ace12
      Mike Marciniszyn 提交于
      Profiling has shown that sdma_lock is proving a bottleneck for
      performance. The situations include:
       - RDMA reads when krcvqs > 1
       - post sends from multiple threads
      
      For RDMA read the current global qib_wq mechanism runs on all CPUs
      and contends for the sdma_lock when multiple RMDA read requests are
      fielded on differenct CPUs. For post sends, the direct call to
      qib_do_send() from multiple threads causes the contention.
      
      Since the sdma mechanism is per port, this fix converts the existing
      workqueue to a per port single thread workqueue to reduce the lock
      contention in the RDMA read case, and for any other case where the QP
      is scheduled via the workqueue mechanism from more than 1 CPU.
      
      For the post send case, This patch modifies the post send code to test
      for a non empty sdma engine.  If the sdma is not idle the (now single
      thread) workqueue will be used to trigger the send engine instead of
      the direct call to qib_do_send().
      Signed-off-by: NMike Marciniszyn <mike.marciniszyn@intel.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      551ace12
  2. 15 5月, 2012 1 次提交
  3. 04 1月, 2012 1 次提交
  4. 01 11月, 2011 1 次提交
  5. 22 10月, 2011 2 次提交
  6. 07 10月, 2011 1 次提交
  7. 31 3月, 2011 1 次提交
  8. 17 1月, 2011 1 次提交
    • T
      RDMA: Update workqueue usage · f0626710
      Tejun Heo 提交于
      * ib_wq is added, which is used as the common workqueue for infiniband
        instead of the system workqueue.  All system workqueue usages
        including flush_scheduled_work() callers are converted to use and
        flush ib_wq.
      
      * cancel_delayed_work() + flush_scheduled_work() converted to
        cancel_delayed_work_sync().
      
      * qib_wq is removed and ib_wq is used instead.
      
      This is to prepare for deprecation of flush_scheduled_work().
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f0626710
  9. 13 1月, 2011 1 次提交
  10. 11 1月, 2011 1 次提交
  11. 27 10月, 2010 1 次提交
  12. 04 8月, 2010 1 次提交
  13. 07 7月, 2010 4 次提交
  14. 26 5月, 2010 1 次提交
  15. 24 5月, 2010 1 次提交