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
b84210b91d
cmake: add support for infiniband node-type
2018-07-04 17:50:26 +02:00
4d09482fdb
Merge branch 'infiniband' into develop
...
# Conflicts:
# Makefile
# Makefile.config
# Makefile.help
# lib/Makefile.villas-ext.inc
# lib/Makefile.villas.inc
# lib/memory.c
# lib/nodes/Makefile.inc
2018-07-04 16:50:36 +02:00
8cd1b93225
cmake: fix linking of libiec61850 on Ubuntu
2018-07-04 16:27:43 +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
d9e041a525
cmake: fix detection of libwebsockets
2018-07-04 15:09:08 +02:00
Dennis Potter
f3a5b81649
Merge branch 'infiniband-memory' into infiniband
2018-07-04 10:50:21 +02:00
fc6f63b192
cmake: change sub-libraries to be statically linked
2018-07-03 18:25:15 +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
45b121d884
infiniband: do not build memory allocator if node is not acticated
2018-07-02 16:05:05 +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
0a4f1a3731
cmake: add install targets and several other cpack improvments
2018-06-30 01:29:45 +02:00
c01393bc82
infiniband: add new memory type
2018-06-29 17:37:10 +02:00
9094941b4c
cmake: add more CMakeLists.txt
2018-06-29 14:36:50 +02:00
c16c53ffb9
test_rtt: fix compiler warnings
2018-06-29 14:36:50 +02:00
34e6891192
iec61850: fix ether_aton() call on OS X
2018-06-29 14:36:50 +02:00
179aa2d553
cmake: add new CMakeLists.txt
2018-06-29 14:35:39 +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
1528603a88
Added missing libraries to Makefile
2018-06-22 13:01:52 +02:00
Dennis Potter
a1b7a9cda6
Initial commit with (empty) infiniband node
2018-06-21 11:56:28 +02:00
ac77d7eb85
amqp: fix compiler warning about unused return value
2018-06-16 21:29:28 +02:00
Daniel Krebs
1e7c46d7aa
comedi: better debug output
2018-06-15 19:29:23 +02:00
Daniel Krebs
bfcf87d970
comedi: merge comedi node with tested DAC functionality
2018-06-15 17:44:25 +02:00
Daniel Krebs
fe302f9649
comedi: implement ADC and DAC directions, only DAC tested
...
The write / DAC direction has been tested with two output signals, see
etc/comedi.conf for reference. For now, the buffer size may not be
(considerably) smaller than 32kB, Comedi stops working for unknown
reasons. To compensate for the latency (always approx. one buffer size)
if only small sample rates are required, configure the path for
upsampling (sample-and-hold via rate parameter) at the same rate as
the out direction of the comedi node.
2018-06-15 15:47:10 +02:00
0c8e52da4e
socket: do not block in sendto()
2018-06-15 14:56:48 +02:00