Commits on Source (12)
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
Introduce AbstractIoSleepStrategy holding most of the code needed for a sleep strategy using an IO object fur suspension/notification. This changes are used in future patches to implement more IO-based sleep strategies.
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
Eventfds are pollable (no iow thread is blocked reading from the IO object) contrary to waitfds. And using pipes seams also rather excessive especially since we ensure that only a single notification is written before it is consumed. This makes the code of the IO-based sleep strategies easier and I would expect also faster.
-
Florian Fischer authored
449 is futex_waitv since linux 5.16.
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
Showing
- emper/Emper.hpp 16 additions, 0 deletionsemper/Emper.hpp
- emper/FiberSource.hpp 1 addition, 0 deletionsemper/FiberSource.hpp
- emper/Runtime.hpp 5 additions, 1 deletionemper/Runtime.hpp
- emper/Worker.hpp 2 additions, 3 deletionsemper/Worker.hpp
- emper/io/IoContext.hpp 10 additions, 5 deletionsemper/io/IoContext.hpp
- emper/sleep_strategy/AbstractIoSleepStrategy.cpp 141 additions, 0 deletionsemper/sleep_strategy/AbstractIoSleepStrategy.cpp
- emper/sleep_strategy/AbstractIoSleepStrategy.hpp 350 additions, 0 deletionsemper/sleep_strategy/AbstractIoSleepStrategy.hpp
- emper/sleep_strategy/PipeSleepStrategy.cpp 17 additions, 151 deletionsemper/sleep_strategy/PipeSleepStrategy.cpp
- emper/sleep_strategy/PipeSleepStrategy.hpp 16 additions, 265 deletionsemper/sleep_strategy/PipeSleepStrategy.hpp
- emper/sleep_strategy/WaitfdSleepStrategy.cpp 76 additions, 0 deletionsemper/sleep_strategy/WaitfdSleepStrategy.cpp
- emper/sleep_strategy/WaitfdSleepStrategy.hpp 149 additions, 0 deletionsemper/sleep_strategy/WaitfdSleepStrategy.hpp
- emper/sleep_strategy/WorkerSleepStrategy.hpp 7 additions, 1 deletionemper/sleep_strategy/WorkerSleepStrategy.hpp
- emper/sleep_strategy/meson.build 2 additions, 0 deletionsemper/sleep_strategy/meson.build
- emper/strategies/AbstractWorkStealingScheduler.cpp 33 additions, 8 deletionsemper/strategies/AbstractWorkStealingScheduler.cpp
- emper/strategies/AbstractWorkStealingScheduler.hpp 2 additions, 0 deletionsemper/strategies/AbstractWorkStealingScheduler.hpp
- emper/strategies/AbstractWorkStealingStats.cpp 2 additions, 0 deletionsemper/strategies/AbstractWorkStealingStats.cpp
- emper/strategies/AbstractWorkStealingWorkerStats.cpp 1 addition, 0 deletionsemper/strategies/AbstractWorkStealingWorkerStats.cpp
- emper/strategies/AbstractWorkStealingWorkerStats.hpp 1 addition, 0 deletionsemper/strategies/AbstractWorkStealingWorkerStats.hpp
- meson.build 8 additions, 8 deletionsmeson.build
- meson_options.txt 20 additions, 1 deletionmeson_options.txt
emper/sleep_strategy/WaitfdSleepStrategy.cpp
0 → 100644
emper/sleep_strategy/WaitfdSleepStrategy.hpp
0 → 100644