Bart Van Assche
d51ecb0e2a
ib_srpt: Add support for immediate data
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5892 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-11-27 15:19:21 +00:00
Bart Van Assche
b37c988337
ib_srpt: Make the send queue full messages more informational
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5887 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-11-26 14:39:51 +00:00
Bart Van Assche
4e645536a2
ib_srpt: Add support for HCA's that do not support SRQ
...
Based on a patch provided by Parav Pandit <Parav.Pandit@Emulex.Com >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5881 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-11-24 17:59:14 +00:00
Bart Van Assche
f4f568f884
ib_srpt: Add max_sge_delta kernel module parameter
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5795 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-09-10 12:18:09 +00:00
Bart Van Assche
6e311fea7f
ib_srpt: Bump driver version from 3.0.0-pre to 3.1.0-pre
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5769 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-09-04 12:56:48 +00:00
Bart Van Assche
7061a6ee8d
ib_srpt: Make the completion vector configurable
...
Allow a set of completion vectors to be associated with each InfiniBand
HCA port and allocate the completion vector for each session in a
round-robin fashion from the per-port set. This helps to spread the
InfiniBand interrupt workload over multiple CPU's, at least if different
InfiniBand MSI-X vectors are associated with different CPU's.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5728 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-08-25 12:50:19 +00:00
Bart Van Assche
8995f1c241
ib_srpt: Speed up kernel driver unloading after a cable pull
...
When unloading the ib_srpt kernel module, instead of waiting until
all connected queue pairs have left the TimeWait state, destroy
these queue pairs immediately.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5727 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-08-25 11:46:43 +00:00
Bart Van Assche
262506de26
ib_srpt: Log QPN next to session name
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5726 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-08-25 11:41:55 +00:00
Bart Van Assche
8b26eb2bbe
ib_srpt: Kernel v3.17 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5725 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-08-25 11:36:33 +00:00
Bart Van Assche
8ffdd099e6
ib_srpt: Set SCSI residual fields in SRP_CMD reply
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5622 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-24 13:33:23 +00:00
Bart Van Assche
facea4c337
ib_srpt: Make one_target_per_port the default mode
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5598 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-13 06:55:23 +00:00
Bart Van Assche
007e3dfbbf
ib_srpt: Make the test for IB_EVENT_GID_CHANGE support more robust
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5577 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-10 14:16:14 +00:00
Vladislav Bolkhovitin
97167af582
scst: Make lockdep_assert_held() easier to use
...
The lockdep_assert_held() macro is a convenient debugging tool.
However, it is inconvenient to surround each invocation of that
macro by an #ifdef/#endif pair. Hence make it easier to use this
macro with older kernel versions.
Signed-off-by: Bart Van Assche <bvanassche@acm.org >
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5573 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-06 03:26:55 +00:00
Bart Van Assche
a7648c418e
ib_srpt: Avoid triggering a SCSI command timeout after login
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5567 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-04 15:17:59 +00:00
Bart Van Assche
fbbb9f05a1
ib_srpt: Fix an error message
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5566 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-06-04 15:14:22 +00:00
Bart Van Assche
0880cbf0cf
RHEL 7 build fixes
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5543 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-05-23 07:33:53 +00:00
Bart Van Assche
909abff111
ib_srpt: Source code comment spelling fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5518 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-05-12 15:56:45 +00:00
Bart Van Assche
d3d094d160
ib_srpt: Fix two recently introduced checkpatch complaints about whitespace
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5498 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-30 05:30:45 +00:00
Bart Van Assche
424b231e96
ib_srpt: Make LUN masking work again
...
This patch fixes a regression that was introduced in r5493.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5495 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-29 12:39:50 +00:00
Bart Van Assche
6cbe580d89
ib_srpt: Unload properly with RDMA/CM disabled
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5474 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 18:43:41 +00:00
Bart Van Assche
eae0318512
ib_srpt: Make srpt_disconnect_ch() close sessions properly that have not yet reached the connected state
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5472 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 11:11:26 +00:00
Bart Van Assche
a4a01d6675
ib_srpt: OFED 3.12 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5470 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-24 10:37:58 +00:00
Bart Van Assche
54a84dff08
ib_srpt: Clean up the CM event handling messages (part 3)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5462 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 13:38:54 +00:00
Bart Van Assche
4181477639
ib_srpt: RHEL 5.9 build fix (part 2)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5461 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:20:52 +00:00
Bart Van Assche
3f76f4e792
ib_srpt, RDMA/CM: Avoid hanging sessions due to a cable pull
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5460 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:04:15 +00:00
Bart Van Assche
05c8c1548c
ib_srpt: Clean up the CM event handling code (part 2)
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5459 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 09:02:29 +00:00
Bart Van Assche
8fd1252268
ib_srpt: Clean up the CM event handling code
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5458 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 08:59:18 +00:00
Bart Van Assche
dafaa63ea0
ib_srpt: RHEL 5.9 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5457 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-23 08:57:17 +00:00
Bart Van Assche
c0d9aee18e
ib_srpt: RHEL 6.5 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5447 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:44:48 +00:00
Bart Van Assche
fc18736ce4
ib_srpt: Build fix for kernel versions < 3.0
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5446 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:38:39 +00:00
Bart Van Assche
fa58faf95b
ib_srpt: Add RDMA/CM support
...
Or in other words, add RoCE and iWARP support.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5445 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:22:30 +00:00
Bart Van Assche
c29fd6f34d
ib_srpt: Move the code for checking the QP timeout
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5444 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:11:18 +00:00
Bart Van Assche
f234b9db8a
ib_srpt: Use a mutex instead of a spinlock to protect the channel list
...
This is allowed because all CM callback functions are invoked from thread
context.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5443 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:10:47 +00:00
Bart Van Assche
97241d4e29
ib_srpt: Prepare RDMA/CM support
...
Move IB/CM members into a new struct. Report channel pointer instead of CM ID
pointer in diagnostic messages.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5442 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:09:33 +00:00
Bart Van Assche
ffb6115cb9
ib_srpt: Remove a superfluous check from the REQ handler
...
ib_send_cm_rep() checks the connection state before sending a response.
Hence checking ch->state before calling ib_send_cm_rep() is superfluous,
so remove that check and also the locking that is no longer needed.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5441 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:08:00 +00:00
Bart Van Assche
4377509628
ib_srpt: Move IB/CM knowledge out of srpt_cm_req_recv()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5440 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-18 12:04:05 +00:00
Bart Van Assche
f589744f58
ib_srpt: Remove a superfluous assignment
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5427 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 09:14:31 +00:00
Bart Van Assche
4acf8e249f
ib_srpt: Cache P_Key lookups
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5426 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:23:11 +00:00
Bart Van Assche
5b7e52b654
ib_srpt: Clean up the code that prints the dgid during login
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5425 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:08:50 +00:00
Bart Van Assche
8c8c9534ee
ib_srpt: Constify two arguments of srpt_get_nexus()
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5424 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 08:01:58 +00:00
Bart Van Assche
3f59c15917
ib_srpt: Disable RDMA access by the initiator
...
With the SRP protocol all RDMA operations are initiated by the target.
Since no RDMA operations are initiated by the initiator, do not grant
the initiator permission to submit RDMA reads or writes to the target.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5423 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-16 07:30:34 +00:00
Bart Van Assche
679d1c637e
ib_srpt: Fix a sparse warning
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5413 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-15 06:03:59 +00:00
Bart Van Assche
b668ab5a6e
ib_srpt: RHEL 6.5 build fix
...
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5403 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-04-03 15:58:16 +00:00
Bart Van Assche
c196d7bbcd
ib_srpt: Make srpt_abort_cmd() state checks more strict
...
Complain if srpt_abort_cmd() is called for an I/O context that is
being processed by SCST and not by the HCA.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5393 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 12:00:43 +00:00
Bart Van Assche
6944885268
ib_srpt: Suppress superfluous error messages
...
Only complain about a missing completion for I/O contexts that are
in a state where the ib_srpt driver is waiting for the HCA.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5392 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 11:59:37 +00:00
Bart Van Assche
fa5aab6390
ib_srpt: Clean up srpt_handle_rdma_err_comp()
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5391 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 11:58:25 +00:00
Bart Van Assche
047e51173a
ib_srpt: Clean up srpt_handle_send_err_comp()
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5390 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 11:56:59 +00:00
Bart Van Assche
464b182c2b
ib_srpt: Clean up srpt_handle_rdma_comp()
...
This patch does not change any functionality.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5389 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-26 11:56:13 +00:00
Bart Van Assche
e72f83a05a
ib_srpt: Avoid waiting for missing error completions
...
Apparently with mlx4 firmware up to and including 2.30.8000 it is not
guaranteed that for a QP associated with an SRQ error completions are
generated for all pending work requests. Avoid triggering
srpt_pending_cmd_timeout() for missing error completions.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5370 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-24 12:07:43 +00:00
Bart Van Assche
b95b1f4d6c
ib_srpt: Add a kernel warning
...
Invoking srpt_zerolength_write() before the queue pair has reached
the error state is a bug, so complain loudly if that happens.
git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@5369 d57e44dd-8a1f-0410-8b47-8ef2f437770f
2014-03-24 12:04:44 +00:00