- Feb 10, 2022
-
-
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
I do not see a reason to do so any more (there probably never was).
-
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
-
Florian Schmaus authored
-
Florian Schmaus authored
[Context] Fix DBG message See merge request !318
-
Florian Schmaus authored
The thread local currentContext was already set to nullptr when we logged it. Use the right field instead.
-
- Jan 23, 2022
-
-
Florian Schmaus authored
[meson] add option to ignore wakeup hints See merge request !316
-
Florian Fischer authored
I think wakeup hints should never be ignored but having the option seams usefull to observe their benefits/cost.
-
- Jan 22, 2022
-
-
Florian Schmaus authored
[Runtime] Move EMPER_* environment variable handling into module See merge request !314
-
Florian Schmaus authored
[ScheduleOnTest] block worker thread if IO is not available See merge request !315
-
Florian Fischer authored
-
Florian Schmaus authored
That debug statement is noisy, as it is emitted all the time, irregardless whether or not the environment variable is set.
-
Florian Schmaus authored
Also add a DBG message that is emitted if such a EMPER_* environment variable has been processed.
-
Florian Fischer authored
The alpha fiber waits to ensure the worker threads are suspended before starting to schedule work on specific threads. emper::sleep uses an AlarmFuture and thus needs emper to be build with IO support. If IO is not available we now just block the whole worker thread.
-
- Jan 21, 2022
-
-
Florian Schmaus authored
-