1234567891011121314151617181920212223242526272829303132 |
- #pragma once
- #include <library/cpp/yt/cpu_clock/clock.h>
- #include <library/cpp/yt/misc/enum.h>
- #include <util/system/src_location.h>
- namespace NYT::NThreading {
- ////////////////////////////////////////////////////////////////////////////////
- DEFINE_ENUM(ESpinLockActivityKind,
- (Read)
- (Write)
- (ReadWrite)
- );
- using TSpinWaitSlowPathHook = void(*)(
- TCpuDuration cpuDelay,
- const ::TSourceLocation& location,
- ESpinLockActivityKind activityKind);
- void RegisterSpinWaitSlowPathHook(TSpinWaitSlowPathHook hook);
- void InvokeSpinWaitSlowPathHooks(
- TCpuDuration cpuDelay,
- const ::TSourceLocation& location,
- ESpinLockActivityKind activityKind);
- ////////////////////////////////////////////////////////////////////////////////
- } // namespace NYT::NThreading
|