Commit Graph

343 Commits

Author SHA1 Message Date
Bart Van Assche
c9bd29a8b9 ib_srpt: Clean up tracing statements
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3821 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-18 09:08:22 +00:00
Bart Van Assche
832968b65e ib_srpt: Builds again on 32-bit systems
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3815 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-17 08:21:08 +00:00
Bart Van Assche
0e26a6c7a5 ib_srpt: Change __constant_cpu_... into cpu_... since the latter are also evaluated at compile time
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3803 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-14 08:48:42 +00:00
Bart Van Assche
47170d1578 ib_srpt: Function tracing output format fix
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3798 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-03 12:46:13 +00:00
Bart Van Assche
15d2609293 ib_srpt: Avoid that removing ib_srpt while I/O is ongoing sometimes triggers a hang
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3796 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-08-03 12:34:31 +00:00
Bart Van Assche
84f56dfa67 srpt: Change default build mode from release to debug. Add support for "make 2debug" / "make 2release" / "make 2perf".
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3759 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-26 09:26:17 +00:00
Bart Van Assche
0e3325b705 ib_srpt: Fix an RHEL-specific compiler warning.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3750 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-24 10:56:57 +00:00
Bart Van Assche
40d862c972 ib_srpt: Update author information
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3719 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-22 11:50:11 +00:00
Bart Van Assche
6a353597eb ib_srpt: Remove a trailing tab
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3650 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 11:54:14 +00:00
Bart Van Assche
42c151b01c ib_srpt: Increase RDMA completion time from 60s to 80s such that it is above the maximum time it can take for the HCA to deliver a completion (which is 60.129s with local ack timeout = 18 and retry_cnt = 7)
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3649 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-02 11:36:44 +00:00
Bart Van Assche
fa232d0c22 ib_srpt: Log QP timeout if debugging is enabled
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3648 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-01 19:26:11 +00:00
Bart Van Assche
32f5924e18 ib_srpt: Zero-initialize QP attributes before invoking ib_modify_qp()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3647 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-07-01 19:19:20 +00:00
Bart Van Assche
8681a0124a ib_srpt: Avoid that failed multipart RDMA transfers cause havoc.
Multipart RDMA transfers can fail after one or more but not all RDMA transfers
have been initiated because either an IB cable has been pulled or the ib_srpt
kernel module has been unloaded while an RDMA transfer is being set up.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3632 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:46:23 +00:00
Bart Van Assche
97ee608748 ib_srpt: Embed HCA name in srpt thread name
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3631 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:32:00 +00:00
Bart Van Assche
eff4f33b70 ib_srpt: Relax a BUG_ON() statement into WARN_ON()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3630 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 14:30:38 +00:00
Bart Van Assche
d08012d8cd ib_srpt: Inline srpt_release_channel()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3629 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 13:33:09 +00:00
Bart Van Assche
3e6f7ba432 ib_srpt: Document known max_sge limitations
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3628 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-26 07:20:49 +00:00
Bart Van Assche
85ac2c728b ib_srpt: Works again on mthca (not tested yet). A quote from the OFED 1.2.5
release notes (docs/mthca_release_notes.txt), section "3. Known Issues":

3. In mem-free devices, RC QPs can be created with a maximum of (max_sge - 3)
   entries only.


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3627 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-25 19:32:32 +00:00
Bart Van Assche
5484d6dfc4 ib_srpt: Eliminate the magic constant SRPT_DEF_SG_PER_WQE
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3626 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-25 19:13:50 +00:00
Bart Van Assche
fd5df29c9c ib_srpt: Remove two superfluous blank lines
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3607 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-22 19:28:15 +00:00
Bart Van Assche
00efb5c667 ib_srpt: Internal change to the credit algorithm. No externally observable behavior is changed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3575 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:38:18 +00:00
Bart Van Assche
93da6cc2b9 ib_srpt: Convert srpt_rdma_ch.sq_wr_avail from an atomic into a spinlock-protected integer
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3574 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:35:41 +00:00
Bart Van Assche
cee16c8117 ib_srpt: Disable IB completion notifcations after having received the LAST_WQE notification / show how many SCST commands are still in progress while waiting for session unregistration
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3573 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:32:10 +00:00
Bart Van Assche
46f0460602 ib_srpt: Export RDMA channel state to sysfs
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3572 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:26:51 +00:00
Bart Van Assche
0e3137524d ib_srpt: Make srpt_rdy_to_xfer() handle IB send queue overflow correctly.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3571 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:22:33 +00:00
Bart Van Assche
82d03efb88 ib_srpt: Restore timeout handler (reverts r3537).
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3570 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-13 12:19:01 +00:00
Bart Van Assche
7943d6466e ib_srpt: Use a spinlock to protect ch->req_lim and ch->req_lim_delta changes instead of using atomics. Reduces the time spent in the ib_srpt_compl thread with a little bit more than 10%.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3558 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-08 18:13:30 +00:00
Bart Van Assche
ab69b20fe2 ib_srpt: Fix a recently introduced RHEL 5 / CentOS 5 deadlock triggered by initiator logout
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3545 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 10:00:57 +00:00
Bart Van Assche
ce81f59468 ib_srpt: Simplify IB CM code
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3544 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:59:17 +00:00
Bart Van Assche
2ed01977da ib_srpt: Fix a spelling error
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3543 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:58:32 +00:00
Bart Van Assche
a43b1b63fc ib_srpt: Add a BUG_ON() statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3542 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:58:03 +00:00
Bart Van Assche
1061f1cf43 ib_srpt: Fix a recently introduced leak in an error path
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3541 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:57:35 +00:00
Bart Van Assche
8aacdf09ef ib_srpt: Remove an unused variable
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3540 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-05 09:56:58 +00:00
Bart Van Assche
3684b6394e ib_srpt: Convert a PRINT_INFO() statement into a TRACE_DBG() statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3539 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 18:17:01 +00:00
Bart Van Assche
6fdc0baaaa ib_srpt: Build fix for non-RHEL pre-2.6.25 kernels.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3538 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 18:10:45 +00:00
Bart Van Assche
0239f80a94 ib_srpt: Remove srpt_pending_cmd_timeout() because it is never invoked
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3537 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:51:46 +00:00
Bart Van Assche
7d3bd0ee6d ib_srpt: Relax I/O context locking
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3536 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:50:54 +00:00
Bart Van Assche
c2bd2e8bf5 ib_srpt: Remove "thread" kernel module parameter and keep thread=1 behavior - the other two modes could cause soft lockup complaints
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3535 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:50:19 +00:00
Bart Van Assche
edf466ba9f ib_srpt: Add more TRACE_ENTRY()/TRACE_EXIT() macros
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3534 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 17:48:14 +00:00
Bart Van Assche
bd8b360569 ib_srpt: Reduce number of context switches during I/O for mode thread=1.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3533 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:37:56 +00:00
Bart Van Assche
b9f4ee7bc8 ib_srpt: Fix a (hard to trigger) race with regard to SRP login.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3532 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:32:22 +00:00
Bart Van Assche
bc913e9258 ib_srpt: Rework channel closing
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3531 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:27:45 +00:00
Bart Van Assche
f1beb1d82d ib_srpt: Eliminate a kmalloc(GFP_ATOMIC) call
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3530 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 14:06:12 +00:00
Bart Van Assche
316ba64801 ib_srpt: Revert r3522.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3528 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:37:09 +00:00
Bart Van Assche
32725f9048 ib_srpt: Introduce the function srpt_set_ch_state_to_draining()
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3527 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:36:03 +00:00
Bart Van Assche
554dad3475 ib_srpt: Remove a superfluous break statement
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3526 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:33:57 +00:00
Bart Van Assche
0e435ce468 Reverted r3521.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3525 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-04 12:24:41 +00:00
Bart Van Assche
5736aadf0d ib_srpt: Silence a compiler warning.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3522 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-03 07:03:31 +00:00
Bart Van Assche
bdc209d520 ib_srpt: Removed a superfluous if-statement. This is a micro-optimization.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3521 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 19:13:06 +00:00
Bart Van Assche
073a504cd3 ib_srpt: Another follow-up for r3515.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3520 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2011-06-02 19:12:29 +00:00