emper merge requestshttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests2022-02-14T07:51:21Zhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/337[Emper.hpp] Remove unnecessary 'static' keyword2022-02-14T07:51:21ZFlorian Schmaus[Emper.hpp] Remove unnecessary 'static' keywordhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/336add Context out of bounds write test2022-02-15T11:18:42ZFlorian Fischeradd Context out of bounds write testThe 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.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.https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/335[Context] Add option for guard page at the bottom of stack2022-02-12T12:37:10ZFlorian Schmaus[Context] Add option for guard page at the bottom of stackhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/334[meson] fix context_alignas option2022-02-11T10:21:00ZFlorian Fischer[meson] fix context_alignas optionThe used variables are named assume_*.
An meson does not support concatenating differtn variable types using
'+' use string.format instead.The used variables are named assume_*.
An meson does not support concatenating differtn variable types using
'+' use string.format instead.https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/333Add emper::printInfo()2022-02-12T15:21:45ZFlorian SchmausAdd emper::printInfo()https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/332do not warn about missing atomic::{wait,notify}2022-02-09T16:27:00ZFlorian Fischerdo not warn about missing atomic::{wait,notify}This allows emper to be build with --meson-fatal-warnings on in our i4lab.This allows emper to be build with --meson-fatal-warnings on in our i4lab.https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/331[Context] Make context size configurable2022-02-10T14:18:06ZFlorian Schmaus[Context] Make context size configurableI do not see a reason to do so any more (there probably never was).I do not see a reason to do so any more (there probably never was).https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/330Use constexpr for memory manager in context manager2022-02-09T15:14:27ZFlorian SchmausUse constexpr for memory manager in context managerhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/329Extend README and switch to one line per sentence2022-02-10T13:38:35ZFlorian SchmausExtend README and switch to one line per sentencehttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/328use emper_fibril in continuation-stealing tests2022-02-07T11:55:18ZFlorian Fischeruse emper_fibril in continuation-stealing testshttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/327Add support for continuation stealing2022-02-07T08:45:50ZFlorian SchmausAdd support for continuation stealingThanks to Nicolas Pfeiffer for writing the initial protypical
implementation of continuation stealing, on which this is based.
Co-authored-by: Nicolas Pfeiffer <pfeiffer@cs.fau.de>Thanks to Nicolas Pfeiffer for writing the initial protypical
implementation of continuation stealing, on which this is based.
Co-authored-by: Nicolas Pfeiffer <pfeiffer@cs.fau.de>https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/326[build] Check if std::atomic wait()/notify{_all}() is avaialble2022-02-08T13:41:25ZFlorian Schmaus[build] Check if std::atomic wait()/notify{_all}() is avaialbleFixes 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_FIL...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);
| ^~~~
```https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/325Introduce AbstractFiber as superclass of all scheduled control flows2022-02-01T15:24:45ZFlorian SchmausIntroduce AbstractFiber as superclass of all scheduled control flowshttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/324[io/Stats] don't try to print worker stats when using a single uring2022-01-31T16:44:22ZFlorian Fischer[io/Stats] don't try to print worker stats when using a single uringhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/323add io latency evaluation2022-01-31T16:44:07ZFlorian Fischeradd io latency evaluationIt 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 afte...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.https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/322[CI] Move iwyu and clang-tidy out of the smoke-test stage2022-01-28T08:18:44ZFlorian Schmaus[CI] Move iwyu and clang-tidy out of the smoke-test stagehttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/321[CI] Bump container image to 1.202022-01-27T13:06:57ZFlorian Schmaus[CI] Bump container image to 1.20https://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/320Various improvements2022-01-26T15:04:16ZFlorian SchmausVarious improvementshttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/319[Runtime] Set a name for every worker thread2022-01-25T15:39:27ZFlorian Schmaus[Runtime] Set a name for every worker threadhttps://gitlab.cs.fau.de/i4/manycore/emper/-/merge_requests/318[Context] Fix DBG message2022-01-25T14:41:23ZFlorian Schmaus[Context] Fix DBG messageThe thread local currentContext was already set to nullptr when we
logged it. Use the right field instead.The thread local currentContext was already set to nullptr when we
logged it. Use the right field instead.