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

1227 commits

Author SHA1 Message Date
Dennis Potter
e34cceedfa Added UD struct and added more comments 2018-07-19 18:31:47 +02:00
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
Dennis Potter
9eda397d6f Changed Documentation of read() and write()
Added Doxygen documentation of a feature which was introduced in
72e627b327
2018-07-16 17:46:10 +02:00
688b0849bf move node_type() implementation to source file 2018-07-16 14:42:23 +02:00
77f3033007 log: remove indention feature complete for better compatability with new C++ logger 2018-07-16 14:42:11 +02:00
9116fda00b add node_type() function to get pointer to node_type of a node instance 2018-07-16 11:00:15 +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
b2fcfdca9d Checked all tools for the presence of log_parse() 2018-07-05 14:40:32 +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
Dennis Potter
3275a09a4e Added missing ib.h file 2018-07-04 17:27:15 +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
12d256b64a Added function declaration 2018-07-04 16:34:38 +02:00
Dennis Potter
08682bec9b Added LOG_IB 2018-07-04 16:34:08 +02:00
Dennis Potter
51519c06df Implemented new memory system implementation in infiniband node 2018-07-04 15:15:24 +02:00
5391cab32d reorder state member of some classes as they would raise a compiler error otherwise (designated initializers are not really supported in C++) 2018-07-04 15:07:54 +02:00
5268beacb0 remove old function declaration 2018-07-04 11:53:57 +02:00
Dennis Potter
f3a5b81649 Merge branch 'infiniband-memory' into infiniband 2018-07-04 10:50:21 +02:00
e4f3a83c49 several fixes to silence the c++ compiler 2018-07-03 20:43:05 +02:00
1026539a4b Merge branch 'cmake' into develop
# Conflicts:
#	lib/Makefile.villas.inc
2018-07-03 18:30:21 +02:00
Dennis Potter
6c7c7b7ed4 Fixed indentations 2018-07-03 11:13:59 +02:00
da8124e472 memory: use hash_table to store allocation metadata 2018-07-02 19:00:55 +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
97e25fb2b2 Added memory_ib.h 2018-07-02 14:20:32 +02:00
93750a2bcd Merge branch 'develop' into infiniband-memory 2018-07-02 13:09:24 +02:00
8e252bbb4b hash_table: added simple hash table with linked lists 2018-07-02 13:07:45 +02:00
b9f463ebee node: extend struct node_type with a new function pointer for checking node configuration 2018-07-02 10:59:45 +02:00
7860c38bfe plugins: improve documentation of REGISTER_PLUGIN macro 2018-07-02 10:51:01 +02:00
d872691dbe fix documentation of kernel code 2018-06-30 01:29:56 +02:00
9ecdb54832 node: add new function node_memtype() to get node specific memory allocators 2018-06-29 17:32:07 +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
4fa5914bc6 cmake: make use of HAS_EVENTFD 2018-06-29 14:36:24 +02:00
58e4d7e394 cmake: add new defines to config.h.in 2018-06-29 14:36:24 +02:00
eb446d2ac9 add missing GPL license header 2018-06-29 09:07:47 +02:00
ffec25bbfd use "#include <villas/...>" path for all includes 2018-06-29 09:06:04 +02:00