- Feb 25, 2022
-
-
Florian Schmaus authored
The MemoryManager uses lib::adt::wsqueue::Default as work-stealing queue implementation. The reference to WsClQueue would break if e.g., ws_queue_default=cl4, since the type would not exist.
-
- Feb 24, 2022
-
-
Florian Schmaus authored
-
Florian Schmaus authored
In case pushing to the local work-stealing queue fails because the queue is full, and that failure is not fatal as it is in Fibril, emit a warning once.
-
Florian Schmaus authored
-
Florian Schmaus authored
This result also contains the observed queue size at the moment of the push.
-
- Feb 22, 2022
-
-
Florian Schmaus authored
Also rename 'res' to 'pushed' and only notify about new work if there was work pushed.
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Feb 21, 2022
-
-
Florian Schmaus authored
[StealingResult] Improve docstring See merge request !349
-
Florian Fischer authored
fsearch: write only found files to stdout and use implicit file offset See merge request !350
-
Florian Schmaus authored
-
Florian Schmaus authored
Use std::function based factory See merge request !71
-
Florian Fischer authored
In the emper-fs-eval I would like to validate the output of the fsearch variants against a list of known files. Not writing any log messages to stdout make that easier. Use -1 as the offset of the write to stdout. Passing offset -1 means to use the file's implicit offset just like write(2). When using a tty as stdout offset 0 is fine but when redirecting stdout to a file 0 will cause that previously found paths will always be overwritten.
-
Florian Schmaus authored
-
- Feb 19, 2022
-
-
Florian Fischer authored
[LinuxVersion] Use "Construct on first use" idiom and add mutex See merge request !348
-
Florian Schmaus authored
Use the "Construct on first use" idom for UTS Release (aka Linux version) initialization. The previous implementation was fragle and could lead to segfaults like __s2=0x7fffffffe480 "5.16.10-arch1-1", __s1=<optimized out>) at /usr/include/c++/11.2.0/bits/char_traits.h:409 __n=<optimized out>, __s=0x7fffffffe480 "5.16.10-arch1-1", __d=<optimized out>) at /usr/include/c++/11.2.0/bits/basic_string.h:359 __n=<optimized out>, __s=0x7fffffffe480 "5.16.10-arch1-1", __d=<optimized out>) at /usr/include/c++/11.2.0/bits/basic_string.h:354 __str=..., this=0x7ffff7fbd2a0 <emper::lib::LinuxVersion::globalVersion[abi:cxx11]>) at /usr/include/c++/11.2.0/bits/basic_string.h:739 at ../emper/lib/LinuxVersion.cpp:46 at /usr/include/c++/11.2.0/ext/new_allocator.h:79 if globalVersion's constructor was not yet called. This is the so called "static initialization order fiasco" in C++. While the mutex may not be strictly requires, as we do not call LinuxVersion's non-argument constructor nor getUtsRelease() concurrently, it can not hurt to have one.
-
Florian Fischer authored
do not define futex_waitv if already done in linux/futex.h See merge request !345
-
Florian Fischer authored
-
Florian Schmaus authored
Make the implementations of the work-stealing queue(s) selectable See merge request !343
-
Florian Schmaus authored
Make subprojects See merge request !344
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Feb 18, 2022
-
-
Florian Schmaus authored
io: make max unbounded io worker configurable See merge request !340
-
Florian Fischer authored
Since Linux 5.15 io_uring can limit the number of iow threads created using IORING_REGISTER_IOWQ_MAX_WORKERS. Bump liburing wrap to version 2.1 to use io_uring_register_iowq_max_workers. Expose this via the meson variable io_unbounded_iow_max and the environment variable EMPER_IO_UNBOUNDED_IOW_MAX. See for an detailed explanation: https://blog.cloudflare.com/missing-manuals-io_uring-worker-pool
-
Florian Schmaus authored
This required to break an include cycle between Fibril and LockedQueue.
-
Florian Schmaus authored
Improve LinuxVersion See merge request !342
-
Florian Schmaus authored
Memory manager See merge request !339
-
- Feb 17, 2022
-
-
Florian Schmaus authored
A Linux version including non-digits, like 5.15.23-gentoo-dist, is very common and nothing we should warn about.
-
Florian Schmaus authored
[Runtime] Prefix EMPER workers names with EMPER See merge request !341
-
Florian Schmaus authored
-
Florian Schmaus authored
Also add error handling to uname() call.
-
Florian Schmaus authored
-
- Feb 16, 2022
-
-
Florian Schmaus authored
-
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
-