d0f2faf72d51dacf5c5e8dec7dca22d0395896e2 |
|
23-Sep-2011 |
Mike Marciniszyn <mike.marciniszyn@qlogic.com> |
IB/qib: Precompute timeout jiffies to optimize latency A new field is added to qib_qp called timeout_jiffies. It is initialized upon create and modify. The field is now used instead of a computation based on qp->timeout. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
af061a644a0e4d4778fe6cd2246479c1962e153b |
|
23-Sep-2011 |
Mike Marciniszyn <mike.marciniszyn@qlogic.com> |
IB/qib: Use RCU for qpn lookup The heavy weight spinlock in qib_lookup_qpn() is replaced with RCU. The hash list itself is now accessed via jhash functions instead of mod. The changes should benefit multiple receive contexts in different processors by not contending for the lock just to read the hash structures. The patch also adds a lookaside_qp (pointer) and a lookaside_qpn in the context. The interrupt handler will test the current packet's qpn against lookaside_qpn if the lookaside_qp pointer is non-NULL. The pointer is NULL'ed when the interrupt handler exits. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
cc6ea1385b43487f6ef03bdc91416c8366d28311 |
|
23-Sep-2011 |
Mike Marciniszyn <mike.marciniszyn@qlogic.com> |
IB/qib: Decode path MTU optimization Store both the encoded and decoded MTU in the QP structure as a minor optimization for UC/RC receive routines. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
f06267104dd9112f11586830d22501d0e26245ea |
|
19-Oct-2010 |
Tejun Heo <tj@kernel.org> |
RDMA: Update workqueue usage * 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: Tejun Heo <tj@kernel.org> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
2a600f14d25fda341b5633c75cc50a7574fc1007 |
|
11-Jan-2011 |
Mike Marciniszyn <mike.marciniszyn@qlogic.com> |
IB/qib: RDMA lkey/rkey validation is inefficient for large MRs The current code loops during rkey/lkey validiation to isolate the MR for the RDMA, which is expensive when the current operation is inside a very large memory region. This fix optimizes rkey/lkey validation routines for user memory regions and fast memory regions. The MR entry can be isolated by shifts/mods instead of looping. The existing loop is preserved for phys memory regions for now. Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
2528ea60f94ef9e1e1cd82066d55f62a1d19fde1 |
|
11-Jan-2011 |
Mike Marciniszyn <mike.marciniszyn@qlogic.com> |
IB/qib: Change receive queue/QPN selection The basic idea is that on SusieQ, the difficult part of mapping QPN to context is handled by the mapping registers so the generic QPN allocation doesn't need to worry about chip specifics. For Monty and Linda, there is no mapping table so the qpt->mask (same as dd->qpn_mask), is used to see if the QPN to context falls within [zero..dd->n_krcv_queues). Signed-off-by: Mike Marciniszyn <mike.marciniszyn@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|
f931551bafe1f10ded7f5282e2aa162c267a2e5d |
|
24-May-2010 |
Ralph Campbell <ralph.campbell@qlogic.com> |
IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters Add a low-level IB driver for QLogic PCIe adapters. Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
/drivers/infiniband/hw/qib/qib_verbs.h
|