-
- Downloads
[PipeSleepStrategy] implement notifySpecific
Implement notifySpecific by using a worker exclusive thread local sleepState and pipe. The sleepState previously waitInflight is no longer a member of IoContext a thread_local PipeSleepStrategy::SleepState is used instead. It is safe to use a thread_local object because onNewWorkNotification is only called by the Owner of the sleepState. Since others (ANYWHERE, EMPER) must not reap newWorkNotifications from a workers CQ. Update the algorithm documentation and other code comments.
Showing
- emper/Runtime.hpp 4 additions, 0 deletionsemper/Runtime.hpp
- emper/io/IoContext.cpp 3 additions, 3 deletionsemper/io/IoContext.cpp
- emper/io/IoContext.hpp 6 additions, 6 deletionsemper/io/IoContext.hpp
- emper/sleep_strategy/PipeSleepStrategy.cpp 109 additions, 37 deletionsemper/sleep_strategy/PipeSleepStrategy.cpp
- emper/sleep_strategy/PipeSleepStrategy.hpp 193 additions, 18 deletionsemper/sleep_strategy/PipeSleepStrategy.hpp
- tools/gdb/dump_runtime_state.py 0 additions, 1 deletiontools/gdb/dump_runtime_state.py
Loading
Please register or sign in to comment