Dennis Potter
|
29ff75fad3
|
Removed some obsolete code for completion queues
|
2018-07-08 15:32:28 +02:00 |
|
Dennis Potter
|
746fd2f694
|
Refactored ib_write in the same way as ib_read (described in #153). Merged separate completion queue polls to ib_write. Closes #167
|
2018-07-08 15:00:47 +02:00 |
|
Dennis Potter
|
ebb5446305
|
Refactored the way ib_read() handles the refence counts for the samples it uses. This is based on the algorithm described in issue #153
|
2018-07-08 14:05:48 +02:00 |
|
Dennis Potter
|
6150a36411
|
Changed all node_write() functions
|
2018-07-07 17:48:07 +02:00 |
|
Dennis Potter
|
4663f55e4b
|
Changed all node_read() functions to support a *cnt instead of cnt
|
2018-07-07 17:07:45 +02:00 |
|
Dennis Potter
|
06e7434d6c
|
Solved some state problems. This commit also solves #154, which was caused by a non-terminated thread. (This thread will be removed in a later commit anyway
|
2018-07-07 15:34:07 +02:00 |
|
Dennis Potter
|
836adee4d6
|
Node is able to clean everything up and reconnect. Node can abort if it is in STARTED and in CONNECTED state
|
2018-07-07 14:36:23 +02:00 |
|
Dennis Potter
|
80da4801e1
|
Source and target successfully connect and node changes status from STATE_STARTED to STATE_CONNECTED in this commit. Next step will be to fix ib_stop and ib_disconnect to make the target able to accept new connections.
|
2018-07-07 13:08:08 +02:00 |
|
Dennis Potter
|
e2061e58fc
|
Events are now monitored in a separate thread. The segmentation faults we saw earlier were caused because we exited ib_start before we created a protection domain, which is used by memory_allocation
|
2018-07-07 12:49:22 +02:00 |
|
Dennis Potter
|
2bf122991c
|
Started to convert the RDMA_CM_EVENT loop to a separate thread and added a new state to the node. This commit is still broken
|
2018-07-05 18:26:32 +02:00 |
|
Dennis Potter
|
43dc305fde
|
Placed sanity checks to a separate function ib_check. Closes #151
|
2018-07-05 15:30:33 +02:00 |
|
Dennis Potter
|
f976ce5418
|
Added debug messages with different verbosity levels
|
2018-07-05 13:57:25 +02:00 |
|
Dennis Potter
|
781f405a48
|
Adhered to coding style
|
2018-07-04 19:04:08 +02:00 |
|
Dennis Potter
|
86363f06da
|
Added better handling for FLUSH_ERRs of receive work queue
|
2018-07-04 15:37:25 +02:00 |
|
Dennis Potter
|
8f52d167f5
|
Fixed wrong directory in include of ib.h
|
2018-07-04 15:26:22 +02:00 |
|
Dennis Potter
|
51519c06df
|
Implemented new memory system implementation in infiniband node
|
2018-07-04 15:15:24 +02:00 |
|
Dennis Potter
|
f3a5b81649
|
Merge branch 'infiniband-memory' into infiniband
|
2018-07-04 10:50:21 +02:00 |
|
Dennis Potter
|
0470ebda33
|
Fixed indentations
|
2018-07-03 18:01:49 +02:00 |
|
Dennis Potter
|
a825009457
|
Removed bugs with regard to the zero-copy implementation. This commit is able to send -r 5000 -l 50000 with villas pipe. With a higher -r, the source throws errors that there aren't any receive WRs, so probably pipe doesn't fill up the WRs fast enough
|
2018-07-03 17:39:06 +02:00 |
|
Dennis Potter
|
669d75a666
|
Basic implementation of zero-copying is done. The is still a problem with rread = hook_read_list. It doesn't return anything after the fourth read
|
2018-07-02 16:03:16 +02:00 |
|
|
bb70be0b2c
|
memory: refactored memory subsystem
|
2018-07-02 15:57:56 +02:00 |
|
Dennis Potter
|
c055010be1
|
ib_write() now takes data directly from the super pool instead of copying it. ib_read() still copies data and the code needs cleanup after zero-copy is implemented
|
2018-07-01 12:56:03 +02:00 |
|
Dennis Potter
|
c70dbe2263
|
Resolved memory_ib related compile and link errors
|
2018-06-30 18:20:30 +02:00 |
|
|
c01393bc82
|
infiniband: add new memory type
|
2018-06-29 17:37:10 +02:00 |
|
Dennis Potter
|
1e2d4158f0
|
Added possibility to add port dynamically, added some config warnings and added a WR refresh function to ib_read
|
2018-06-28 17:24:28 +02:00 |
|
Dennis Potter
|
95393eeb35
|
Forgot to acknowledge events which caused the rdma_cm_id to block.
|
2018-06-28 14:43:08 +02:00 |
|
Dennis Potter
|
5598f93582
|
Implemented disconnect function on source and target side. The cleanup function doesn't go through completely yet, probably because rdma_destroy_id blocks because not everything in the rdma_cm_id is destroyed yet.
|
2018-06-28 12:46:16 +02:00 |
|
Dennis Potter
|
1df18da3f2
|
Added Work Completion threads. Send Completion thread checks for errors, Receive Completion Queue is still empty.
|
2018-06-27 17:01:47 +02:00 |
|
Dennis Potter
|
7631ec98ed
|
Refactored the rdma_cm_id structure
|
2018-06-27 11:21:28 +02:00 |
|
Dennis Potter
|
9e5836001d
|
Node is able to send messages. A lot is hardcoded and this was only meant to be a first setup of a working node.
|
2018-06-27 10:37:46 +02:00 |
|
Dennis Potter
|
4fef5d67e5
|
Memory is registrated succesfully. Created framework to send data. At this moment, the receiver doesn't prepare Receive Work Requests. This is the first thing to fix after this commit
|
2018-06-25 18:21:44 +02:00 |
|
Dennis Potter
|
077355d8ba
|
Started to implement memory managemen and registration. Not yet working and in an early stage. Still some debugging and testing printfs
|
2018-06-24 13:02:04 +02:00 |
|
Dennis Potter
|
4f6c2543b5
|
Fixed bugs in connection. A source node is now able to connect to a target node.
|
2018-06-23 19:05:33 +02:00 |
|
Dennis Potter
|
a0f0410e73
|
This commit should be able to create a connection between two nodes.
This commit isn't checked for bugs and no memory management is done.
Furthermore, no poll threads are implemented.
|
2018-06-23 14:53:37 +02:00 |
|
Dennis Potter
|
4220ff8111
|
Implemented request to resolve address and built an rdma_cm_event framework
|
2018-06-22 13:02:41 +02:00 |
|
Dennis Potter
|
a1b7a9cda6
|
Initial commit with (empty) infiniband node
|
2018-06-21 11:56:28 +02:00 |
|