- Dec 05, 2020
-
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Dec 03, 2020
-
-
Florian Schmaus authored
prevent data races when initializing the workers PRNG seeds See merge request !38
-
Florian Fischer authored
Each worker currently calls uniformIntDistribution(randomEngine) which modifies the randomEngine internally and thus produces data races when the threads run in parallel. This change calls uniformIntDistribution(randomEngine) on the main thread for each worker and passes the resulting seeds to the workerLoop. The data race was found by gcc's tsan.
-
- Dec 02, 2020
-
-
Florian Schmaus authored
Add sanitizer CI targets See merge request !35
-
Florian Schmaus authored
Debugging changes See merge request !37
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
To exclude debug code from release builds "if constexpr(emper::DEBUG)" is preferred over "#ifndef NDEBUG".
-
- Dec 01, 2020
-
-
Florian Schmaus authored
Revert "[tests] don't undef NDEBUG for test executables" See merge request !36
-
Florian Schmaus authored
This reverts commit b33ac93c. Now that logging is done independently from NDEBUG, we can re-enable "undef NDEBUG for test executables". The rationale that we want to undefine NDEBUG for test executable is that we want, even in release builds, asserts in tests enabled. Note that this also applies to asserts in the emper core library, if those are in *headers*.
-
- Nov 30, 2020
-
-
Florian Schmaus authored
use DIE* macros instead of the die function See merge request !33
-
Florian Schmaus authored
make logging configurable during compilation and runtime See merge request !32
-
Florian Fischer authored
Compile-time: * A new meson option 'log_level' is introduced which has all the values from the Loglevel enum * The 'OFF' option defines EMPER_LOG_OFF which causes the LOG* macros to be empty and the Logger<>::log function to return immediately * The default 'automatic' option sets 'log_level' to 'Error' for release builds and to 'ALL' otherwise Runtime: * The global variable emper::log_level defined in Debug.hpp controls the logging output * It is initialized with the meson option 'log_level' but can be changed during runtime
-
Florian Schmaus authored
make the userspace-rcu dependency optional See merge request !28
-
Florian Fischer authored
-
Florian Fischer authored
Disable the userpace-rcu support by default. Our used userspace-rcu flavor memb is rather new and not available in liburcu version 0.10 available in debian buster. This change switches from using DCE and "if constexpr" to the C preprocessor so the library is only needed when the userspace-rcu support is actually enabled.
-
Florian Schmaus authored
[gitlab-ci] Use flowdalic/debian-testing-dev:1.0 as container image See merge request !34
-
- Nov 27, 2020
-
-
Florian Schmaus authored
-
Florian Schmaus authored
And fix the #include issues reported by the newer IWYU version.
-
Florian Fischer authored
-
- Nov 26, 2020
-
-
Florian Schmaus authored
[UnboundedBlockingMpscQueue] Fix message loss See merge request !31
-
Florian Schmaus authored
Avoid messages getting lost in the queue.
-
- Nov 25, 2020
-
-
Florian Schmaus authored
use proper camel case for URCU test See merge request !26
-
- Nov 23, 2020
-
-
Florian Schmaus authored
do not run tests in parallel by default See merge request !27
-
Florian Schmaus authored
[docs] rename doc target from speedymalloc to emper See merge request !29
-
Florian Fischer authored
-
- Nov 20, 2020
-
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Schmaus authored
Remove -UNDEBUG from tests See merge request !25
-
Florian Fischer authored
The explicit -UNDEBUG was introduced in the CMake to meson migration (62900cd1) but as far as I can tell it was not present in the CMake tests definition. It makes tests less reliable because it enables only some debug messages but not all. For example if emper is build with NDEBUG a test using a Semaphore will output debug messages from the Semaphore but not from the Runtime.
-
Florian Schmaus authored
[test] add AlarmActorTest See merge request !24
-
Florian Schmaus authored
register each worker thread for userspace RCU using the default flavor See merge request i4/manycore/emper!23
-
- Nov 19, 2020
-
-
Florian Fischer authored
Introduce a new Actor test using BinaryPrivateSemaphores and an Actor. Multiple fibers are created which create a BPS on the stack, submit it to the actor and wait on the semaphore. The Actor simply signals each semaphore it receives.
-
Florian Fischer authored
-
- Nov 17, 2020
-
-
Florian Fischer authored
The SimpleURCUTest creates a lock-less hash table and inserts values from separate fibers and verifies the correct insertion.
-
Florian Fischer authored
The default flavor is the preferred way to use the userspace library it uses the sys_membarrier syscall or falls back to using userspace membarriers. This adds the liburcu dependency which must be installed regardless the 'liburcu' meson option.
-
- Nov 16, 2020
-
-
Florian Schmaus authored
Tests See merge request !22
-