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

2460 commits

Author SHA1 Message Date
Dennis Potter
ea785152c9 Added infiniband configuration file 2018-07-15 13:55:20 +02:00
Dennis Potter
6444a9e337 Split configuration in an in and out part 2018-07-15 13:51:18 +02:00
Dennis Potter
6975854376 Solved problem with blocking thread
In the case that a node was already disconnected but not stopped,
rdma_cm_get_event always blocked and we coulnd't join the threads. This
is solved in this commit by registering SIGUSR1 to the CM event thread.

This bug originated in issue #152
2018-07-14 16:46:23 +02:00
Dennis Potter
3d01174859 Merge branch 'ib-send-inline' into develop 2018-07-14 15:26:12 +02:00
Dennis Potter
95e2a7c20b Added extra check for inline mode. Closes #164
The actual maximum size for inline mode is now returned to the user and
there is a check that inline_mode is either 0 or 1. Furthermore, this
commit includes a minor improvement in ib_write()
2018-07-14 15:20:24 +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
Sonja Kolen
bfd25b55db check if publish/ subscribe topic is set before subscribing or publishing, provide a warning to the user in case subscribing/ publishing cannot be done because of lack of topic 2018-07-13 13:36:13 +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
4cd8fc7150 ib_write and ib_read handle memory in a way that the pool doesn't underrun now. Sending data inline is broken in this commit 2018-07-12 17:49:17 +02:00
Dennis Potter
3092eddb69 Changed memory type and size of pool of receive- and send loop 2018-07-12 17:47:34 +02:00
Dennis Potter
e6b7a668ee Added some more verbosity to a warning 2018-07-12 17:26:37 +02:00
Dennis Potter
51c26c0bb1 Merge branch 'node-read-write-interface' into develop 2018-07-11 23:03: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
Sonja Kolen
a2d33154d0 Merge branch 'develop' of git.rwth-aachen.de:acs/public/villas/VILLASnode into develop 2018-07-09 12:59:24 +02:00
Sonja Kolen
eb2941ea95 node: pass return value of vt->destroy 2018-07-09 12:55:36 +02:00
Sonja Kolen
6d613223cc memory: fix use after free 2018-07-09 12:54:33 +02:00
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
8119c39c1a Merge branch 'ib-started-connected' into develop 2018-07-07 16:24:57 +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
1bdd0a9e34 node_stop can be called if node is STARTED or CONNECTED 2018-07-07 15:24:48 +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
e16644b0e9 Added some error handling in IB memory type 2018-07-07 12:56: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
85c631242f increase required CMake version to 3.6 (closes #170) 2018-07-06 16:12:05 +02:00
Dennis Potter
bde7dd69d7 Merge branch 'develop' of git.rwth-aachen.de:acs/public/villas/VILLASnode into develop 2018-07-06 14:47:28 +02:00
Dennis Potter
e91ea7a225 Remove villas.pb-c.c and villas.pb-c.h from repository and do a minor update to .gitignore. Closes #162 2018-07-06 14:47:11 +02:00
26541bae79 log: fix logging to syslog 2018-07-06 14:13:01 +02:00
9e15dfdc34 log: only show indention markers in console logs, not files 2018-07-06 14:12:48 +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
64eff0bb0b Added C++ extension to .editorconfig. Closes #161 2018-07-05 14:47:46 +02:00
Dennis Potter
d894b37c36 Merge branch 'ib-debug' into develop. Closes #145 2018-07-05 14:45:03 +02:00
Dennis Potter
b2fcfdca9d Checked all tools for the presence of log_parse() 2018-07-05 14:40:32 +02:00
Dennis Potter
f976ce5418 Added debug messages with different verbosity levels 2018-07-05 13:57:25 +02:00
1a8a0a798e reduce version requirements for dependencies 2018-07-05 10:12:16 +02:00
Dennis Potter
5f2be6d46c Fixed order of function calls for log-init 2018-07-05 10:09:20 +02:00
Dennis Potter
a44ec237f9 Fixed a minor typo in CMakeLists.txt which prevented CMake from finding the IBVerbs config files 2018-07-04 19:48:13 +02:00
Dennis Potter
781f405a48 Adhered to coding style 2018-07-04 19:04:08 +02:00
fb482439c4 fix CONTRIBUTING.md 2018-07-04 17:57:06 +02:00
b84210b91d cmake: add support for infiniband node-type 2018-07-04 17:50:26 +02:00
fb4c39f19a memory: update file haeders 2018-07-04 17:27:45 +02:00
015400cadc cmake: add new modules for finding libibverbs and librdmacm 2018-07-04 17:27:45 +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
92e4b61e2e add assertion to check that the node-type has been started before starting the node 2018-07-04 16:38:06 +02:00