- Feb 12, 2022
-
-
Florian Fischer authored
Add an SIGSEGV handler to the ContextOutOfBoundsTest to ensure that the received SIGSEGV is caused by accessing the guard page.
-
Florian Fischer authored
The test is a simple infinite recursion hitting the guard page. The new guard-page-test-runner skips the test if emper::STACK_GUARD_PAGE is false.
-
Florian Schmaus authored
[Context] Add option for guard page at the bottom of stack See merge request !335
-
- Feb 11, 2022
-
-
Florian Schmaus authored
-
Florian Fischer authored
[meson] fix context_alignas option See merge request !334
-
Florian Fischer authored
-
Florian Fischer authored
The used variables are named assume_*. And meson does not support concatenating different variable types using '+' use string.format instead.
-
- Feb 10, 2022
-
-
Florian Schmaus authored
[Context] Make context size configurable See merge request !331
-
Florian Schmaus authored
Extend README and switch to one line per sentence See merge request !329
-
Florian Schmaus authored
-
Florian Schmaus authored
Also keep the context size at 64 KiB (there was a comment that errorneously indicated that the context size is 4 MiB).
-
- Feb 09, 2022
-
-
Florian Schmaus authored
do not warn about missing atomic::{wait,notify} See merge request !332
-
Florian Fischer authored
This allows emper to be build with --meson-fatal-warnings on in our i4lab.
-
Florian Schmaus authored
I do not see a reason to do so any more (there probably never was).
-
Florian Schmaus authored
-
Florian Schmaus authored
Use constexpr for memory manager in context manager See merge request !330
-
Florian Schmaus authored
-
- Feb 08, 2022
-
-
Florian Schmaus authored
[build] Check if std::atomic wait()/notify{_all}() is avaialble See merge request !326
-
- Feb 07, 2022
-
-
Florian Schmaus authored
use emper_fibril in continuation-stealing tests See merge request !328
-
Florian Fischer authored
-
Florian Schmaus authored
Add support for continuation stealing See merge request !327
-
Florian Schmaus authored
Thanks to Nicolas Pfeiffer for writing the initial prototypical implementation of continuation stealing and the cactus stack mechanism, on which this is based. Co-authored-by:
Nicolas Pfeiffer <pfeiffer@cs.fau.de>
-
- Feb 02, 2022
-
-
Florian Schmaus authored
Fixes builds on Debian stable, which currently fail with ccache c++ -Ieval/io_latency.p -Ieval -I../eval -Iemper -I../emper -Iemper/io -I../emper/io -Iemper/include -I../emper/include -I/usr/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++2a -O2 -g -DBOOST_ALL_NO_LIB -pthread -isystem../subprojects/liburing-liburing-2.0/src/include -isystemsubprojects/liburing-liburing-2.0/src/include -MD -MQ eval/io_latency.p/IoLatency.cpp.o -MF eval/io_latency.p/IoLatency.cpp.o.d -o eval/io_latency.p/IoLatency.cpp.o -c ../eval/IoLatency.cpp../eval/IoLatency.cpp: In function ‘void watchFunc()’: ../eval/IoLatency.cpp:45:17: error: ‘struct std::atomic<bool>’ has no member named ‘wait’ 45 | readSubmitted.wait(false, std::memory_order_acquire); | ^~~~
-
- Feb 01, 2022
-
-
Florian Schmaus authored
Introduce AbstractFiber as superclass of all scheduled control flows See merge request !325
-
Florian Schmaus authored
It is safe to perform a relaxed load in isRunnable(), since the information is potentially outdated immediately after it was looked at. Also, since Fiber::isRunnable() is a virtual method, keeping its definition in the header has no real advantage, hence we move it out of the header.
-
Florian Schmaus authored
-
- Jan 31, 2022
-
-
Florian Schmaus authored
[io/Stats] don't try to print worker stats when using a single uring See merge request !324
-
Florian Schmaus authored
add io latency evaluation See merge request !323
-
Florian Fischer authored
-
Florian Fischer authored
* increase iterations to 10K this produced more stable averages * add options to dump all measurements * add baseline benchmark using two threads and read/write syscalls * add iouring benchmark using two threads and iouring to read
-
- Jan 30, 2022
-
-
Florian Fischer authored
Test more Fiber functionality in Future callbacks: blocking and spawning.
-
Florian Fischer authored
It uses a watch thread writing to eventfd and a ReadFuture with a Callback to measure the latency between writing to the eventfd and executing the resulting IO Continuation. The worker submitting the read request starts a busy loop after the submission to enforce that the IO-continuation is delayed on this worker.
-
- Jan 28, 2022
-
-
Florian Schmaus authored
[CI] Move iwyu and clang-tidy out of the smoke-test stage See merge request !322
-
- Jan 27, 2022
-
-
Florian Schmaus authored
-
Florian Schmaus authored
[CI] Bump container image to 1.20 See merge request !321
-
Florian Schmaus authored
-
- Jan 26, 2022
-
-
Florian Schmaus authored
Various improvements See merge request !320
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Jan 25, 2022
-
-
Florian Schmaus authored
[Runtime] Set a name for every worker thread See merge request !319
-