- Feb 17, 2022
-
-
Florian Schmaus authored
-
- Feb 15, 2022
-
-
Florian Schmaus authored
Add stack-usage stats See merge request !338
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
add Context out of bounds write test See merge request !336
-
Florian Schmaus authored
EMPER's Runtime now installs the SIGSEGV handler that checks if the segmentation fault was caused by hitting the guard page. If the guard page was hit, then the handler prints an error message. Also make ContextOutOfBoundsTest more robust by not creating an infinite recursion, which may be optmized out by the compiler.
-
- Feb 14, 2022
-
-
Florian Schmaus authored
[Emper.hpp] Remove unnecessary 'static' keyword See merge request !337
-
- 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 Schmaus authored
-
Florian Schmaus authored
Add emper::printInfo() See merge request !333
-
Florian Schmaus authored
-
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
-