1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00
Commit graph

176 commits

Author SHA1 Message Date
7936b0f626 Merge branch 'cmake-include' into develop 2018-07-16 20:20:05 +02:00
7c555ccb9c node: fix node_{read,write}() interface for comedi and iec61850_sv 2018-07-16 20:16:59 +02:00
60f55ec178 improve naming of struct node_type function pointers (closes #150) 2018-07-16 11:00:15 +02:00
Dennis Potter
d9080fa1db Cleaned up some obsolete code. Closes #176 2018-07-16 10:54:15 +02:00
Dennis Potter
6444a9e337 Split configuration in an in and out part 2018-07-15 13:51:18 +02:00
Dennis Potter
1d6ee5aec8 Node can determine if data should be send inline
The user can set the maximum size of the inline data and the node checks
if a sample can be send inline. This commit doesn't contain a info
message to the user about what the final max inline size will be. (The
HCA will probably change the value set by the user.)
2018-07-13 13:50:30 +02:00
Dennis Potter
b1b778f542 Added buffer to ib_write()
Now, ib_write() reads every cycle cnt values from the Completion Queue.
If it is not able to return them to the framework immediately, it
temporarily saves them on a stack.

ib_write() checks every cycle if the stack is non-empty and if it is
possible to return values from the stack to the framework.
2018-07-13 12:21:59 +02:00
Dennis Potter
72e627b327 Fixes #166, all node interfaces are modified
The functions now look like this

int node_read(struct node *n, struct sample *smps[], unsigned cnt, unsigned *release);
int node_write(struct node *n, struct sample *smps[], unsigned cnt, unsigned *release);

This commit enables nodes to control how many samples will
be released by the framework through *release
2018-07-11 18:14:29 +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
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
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
781f405a48 Adhered to coding style 2018-07-04 19:04:08 +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
Dennis Potter
f3a5b81649 Merge branch 'infiniband-memory' into infiniband 2018-07-04 10:50:21 +02:00
Dennis Potter
6c7c7b7ed4 Fixed indentations 2018-07-03 11:13:59 +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
93750a2bcd Merge branch 'develop' into infiniband-memory 2018-07-02 13:09:24 +02:00
34e6891192 iec61850: fix ether_aton() call on OS X 2018-06-29 14:36:50 +02:00
58a13ae92e cmake: fix some #ifdefs 2018-06-29 14:36:50 +02:00
ffec25bbfd use "#include <villas/...>" path for all includes 2018-06-29 09:06:04 +02:00
312cdc2fbe revert whitespace changes 2018-06-29 08:37:14 +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
Sonja Kolen
4ec3cf030b Added extern "C" wrapper in all headers of libvillas to use it in C++ code 2018-06-28 13:42:50 +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
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
Daniel Krebs
1e7c46d7aa comedi: better debug output 2018-06-15 19:29:23 +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
79d5257408 comedi: started implementation 2018-06-15 14:56:27 +02:00
59269a72b6 remove some superfluous comments 2018-06-15 14:56:27 +02:00
c457c0fe30 comedi: first version which compile and links 2018-06-15 14:56:27 +02:00
662e82559c comedi: added skeleton 2018-06-15 14:56:27 +02:00
dccdd67242 shmem: use proper naming convention 2018-06-15 14:24:04 +02:00
355831d8a9 websocket: fix connection state handling 2018-06-12 18:38:08 +02:00
4ba077d14e io: remove state-less IO calls 2018-05-12 15:25:29 +02:00
c0313c7963 refactored: io_format -> format_type 2018-05-12 13:57:39 +02:00
cae12694ea signal_generator: show total amount of missed steps 2018-04-19 15:43:57 +02:00
6b5cad2ec9 signal_generator: fix naming convention of functions 2018-04-19 15:43:57 +02:00
3f74f036ea fpga: removed all FPGA related code 2018-04-05 10:21:17 +02:00
526603fc45 iec61850-9-2: some fixes for previous commit 2018-04-04 12:00:50 +02:00