- Feb 18, 2021
-
-
Florian Schmaus authored
[meson] fix version header custom target for meson >= 0.57 See merge request i4/manycore/emper!96
-
Florian Fischer authored
Apparently custom_target no longer supports the @CURRENT_SOURCE_DIR@ and @SOURCE_DIR@ substitutions. We now locate the script using find_program(). Since meson.project_source_dir() is not available in older meson version there is a version check.
-
- Feb 17, 2021
-
-
Florian Schmaus authored
[IO] replace the std::mutex.try_lock with our own std::atomic based implementation See merge request i4/manycore/emper!95
-
- Feb 16, 2021
-
-
Florian Fischer authored
-
- Feb 10, 2021
-
-
Florian Schmaus authored
[IO] add option to use a common async backend for all io_urings See merge request i4/manycore/emper!94
-
Florian Fischer authored
-
- Feb 08, 2021
-
-
Florian Schmaus authored
[EchoServerCallback] report error value passed to callback not errno See merge request i4/manycore/emper!93
-
Florian Fischer authored
-
- Feb 07, 2021
-
-
Florian Schmaus authored
[IO/Stats] make sure only Future's with a buffer have a completion expectation See merge request !92
-
Florian Schmaus authored
[IO] add FutureError and throw it when wait is called on a Future with callback See merge request i4/manycore/emper!91
-
Florian Schmaus authored
[IO] add output file support to echoclient See merge request i4/manycore/emper!90
-
Florian Fischer authored
Currently future.len if set is used as completion expectation. This does not make any sense for Futures using the len field for different values than a buffer length. For example the OpenatFuture uses future.len for the flags passed to openat. Those flags should not be interpreted as an expectation about the completion value (a file descriptor).
-
- Feb 06, 2021
-
-
Florian Fischer authored
The wait() call on a Future with callback currently will never return therefore calling wait() is disallowed.
-
Florian Fischer authored
This is useful for my evaluation. Because with an output file I just have to check if it exists to see if an echoclient execution was successful.
-
Florian Schmaus authored
Improved dying See merge request !89
-
Florian Fischer authored
This was never reported by the compiler because DIE_MSG treated its argument as a string. With the new stream formatting support the compiler sees the undefined symbol flag.
-
Florian Fischer authored
The stream formatting for DIE_MSG is already wrongly used in IoContext, EchoClient and LawsDispatcher.
-
- Feb 05, 2021
-
-
Florian Schmaus authored
[IO] add callback support See merge request i4/manycore/emper!87
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
Futures can have a registered Callback of type std::function<void(const uint32_t&)> which gets called in a new Fiber with the result of the IO Request. Note the first completion will cause the execution of a callback and partial completion support must be implemented manually in the callback. Callbacks are stored in a heap allocated std::function on registration and are freed by the new Fiber after the callback returned; The Future with a registered Callback is not referenced in any way in the IO subsystem and therefore can be dropped after being submitted. This also means that a Future with a registered callback will not be signaled by the IO subsystem on completion. If signaling is desired one must implement it manually in the registered callback.
-
Florian Schmaus authored
[test] use gtest meson wrap if gtest is not found See merge request !88
-
Florian Fischer authored
The gtest wrap can be updated with the meson wrap command
-
Florian Schmaus authored
Towards fixing modernize-avoid-c-arrays, add template_util::getSize() See merge request !84
-
Florian Schmaus authored
-
Florian Schmaus authored
[tests] Run tests in parallel if io_uring is disabled See merge request !85
-
- Feb 03, 2021
-
-
Florian Schmaus authored
-
Florian Schmaus authored
[IO] fail hard if the globalCompleter would drop a Future See merge request !83
-
Florian Schmaus authored
Improve networking code See merge request !82
-
Florian Fischer authored
Currently the globalCompleter would drop Futures which he is unable to submit to its SQ because io_uring_submit returned -EBUSY, signalizing a full CQ. For now we fail hard if this hopefully unlikely condition occurs. Additional small code changes: * don't wrap assert in if constexpr(DEBUG) * annotate Future completion in globalCompleter as unlikely * use prepared Future count as unsigned * remove redundant parenthesis * introduce helper function for IoContext* tagging * introduce Stats::record_io_submit_full_cq default parameter
-
Florian Fischer authored
Use getaddrinfo instead to get the socket information instead of using always ipv4 sockets. Pass host and port as strings for use with getaddrinfo.
-
Florian Fischer authored
Start client Fibers in batches to make sure we don't exceed the server's TCP listen backlog.
-
Florian Fischer authored
-
- Feb 02, 2021
-
-
Florian Schmaus authored
Add support for open/openat and a simple fixed string search utility See merge request !77
-
Modified-by:
Florian Schmaus <flow@cs.fau.de>
-
Modified-by:
Florian Schmaus <flow@cs.fau.de>
-
Florian Schmaus authored
[Makefile][CI] Add static-analysis Make target, and gitlab-ci stage See merge request !81
-
Florian Schmaus authored
The 'static-analysis' Make target runs all static analysis we currently have. This allows to run at least static analysis, in cases where we are able build a particular EMPER configuration, but no able to execute it (e.g. because the kernel lacks io_uring support).
-
Florian Schmaus authored
Remove linux time types include See merge request i4/manycore/emper!80
-