- Jul 06, 2021
-
-
Florian Fischer authored
Until kernel commit cf10960426515 io_uring submitted sqe until it encountered an invalid one. Now io_uring will catch the error on subimssion and will cancel all sqe's contained in the link prior to the invalid one.
-
- Jul 05, 2021
-
-
Florian Schmaus authored
[Runtime] use pthread_getaffinity_np to determine default worker count Closes #19 See merge request !211
-
Florian Fischer authored
The value reported by std::thread::hardware_concurrency() can be more than the available CPUs to the current process for example if EMPER runs in a container or qemu. GNU nproc(1) does the right thing and we can take inspiration from them. The solution is to use pthread_getaffinity_np which fills a CPU set with all CPU a pthread can be scheduled on. We use this more precise CPU count if possible.
-
- Jun 04, 2021
-
-
Florian Schmaus authored
[gitlab-ci] Bump flowdalic/debian-testing-dev to 1.12 See merge request !209
-
- May 28, 2021
-
-
Florian Schmaus authored
-
- May 20, 2021
-
-
Florian Schmaus authored
[Future] Fix clang-tidy issue in MadviseFuture See merge request !208
-
Florian Schmaus authored
-
Florian Schmaus authored
[gitlab-ci] Bump debian-testing-dev image to 1.10 See merge request !199
-
Florian Schmaus authored
-
- May 19, 2021
-
-
Florian Schmaus authored
[IO] add a madvise Future See merge request !206
-
- May 18, 2021
-
-
Florian Fischer authored
-
Florian Schmaus authored
Fix most llvm-12 clang-tidy warnings in IO code See merge request !205
-
Florian Schmaus authored
Batch dequeue from AnywhereQueue See merge request !196
-
- May 17, 2021
-
-
Florian Fischer authored
-
Florian Fischer authored
Thanks llvm 12 :)
-
Florian Fischer authored
errno was never set on error and thus the DIE_MSG_ERRNO did not properly report what happened. Found during changing Future member types.
-
Florian Fischer authored
The posix versions (close/openat) return int as well. And this fixes a narrowing conversion in c_emper.cpp: emper_openat and emper_close
-
Florian Fischer authored
Use int32_t as Future returnValue instead of ssize_t since io_uring uses int32_t not ssize_t as results value therefore it is pointless to use a bigger type. This shrinks the future size and prevents useless and implementation defined narrowing conversions from ssize_t to int32_t. Use union for flags and offset. Ignore int to pointer cast clang-tidy warning.
-
Florian Schmaus authored
[Debug] maybe-uninitialized should be ignored for gcc >= 11.1.0 See merge request i4/manycore/emper!204
-
Florian Fischer authored
-
Florian Schmaus authored
[check-license] Do not pass --max-args to xargs See merge request !203
-
Florian Schmaus authored
GCC 11.1 fixes See merge request !202
-
Florian Schmaus authored
[CountingPrivateSemaphore] Fix assert See merge request !200
-
Florian Schmaus authored
xargs: warning: options --max-args and --replace/-I/-i are mutually exclusive, ignoring previous --max-args value
-
Florian Fischer authored
-
Florian Fischer authored
gcc 11.1 on my arch system complains that the calls to free does not match the allocator function new[].
-
- May 14, 2021
-
-
Florian Schmaus authored
As the code comment above the assert indicates, the atomic exchange operation may either return nullptr or a valid Context pointer. And this is what the assert() should assert. :) Reported-by:
Florian Fischer <florian.fl.fischer@fau.de>
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- May 11, 2021
-
-
Florian Schmaus authored
[Common] Call abort() instead of exit() in die() See merge request !198
-
Florian Schmaus authored
Calling abort() has multiple advantages. First, it better matches the semantic of DIE(_MSG) as it signals an abnormal process termination, whereas exit() is a normal process termination (even though potentially with an error exit code). Secondly, abort() throws SIGABRT, which in turn triggers a coredump, hence the program's state can be inspected afterwards.
-
- May 10, 2021
-
-
Florian Schmaus authored
[LAWS/Fiber] Introduce the concept of Multi-Fiber See merge request !195
-
Florian Schmaus authored
-
Florian Schmaus authored
LAWS, and similar scheduling strategies, only need to perform refcounting and atomic operations if the fiber was placed in multiple ready-lists in the first place.
-
Florian Schmaus authored
Already check if fiber is runnable in scheduliing subsystem See merge request !197
-
- May 08, 2021
-
-
Florian Schmaus authored
Already check if the fiber is in-fact runnable in the scheduling subsystem. This should not make a difference when WS scheduling is used, but makes a difference when LAWS is used.
-
- May 05, 2021
-
-
Florian Fischer authored
[meson] propagate set_affinity_on_block See merge request !194
-
Florian Fischer authored
-
Florian Schmaus authored
[LawsScheduler] Guard Runtime::getWorkerId() with CallerEnvironment See merge request !192
-
Florian Schmaus authored
[IO] remove Future affinity awareness which is done in Blockable See merge request !193
-