-
Enhancement
-
Resolution: Unresolved
-
P4
-
26
-
aarch64
Implement OnSpinWait based on WFET - wait for event with timeout:
- introduce OnSpinWaitDelay - the OnSpinWait time in nanoseconds;
- the OnSpinWaitInstCount is expected to be 1 when WFET is used;
- the waiting loop is followed by SB - to ensure following instructions
aren't speculated until wait is finished;
- the timer register is read via the self-synchronized view
CNTVCTSS_EL0 to prevent the read being hoisted out of the loop.
- introduce OnSpinWaitDelay - the OnSpinWait time in nanoseconds;
- the OnSpinWaitInstCount is expected to be 1 when WFET is used;
- the waiting loop is followed by SB - to ensure following instructions
aren't speculated until wait is finished;
- the timer register is read via the self-synchronized view
CNTVCTSS_EL0 to prevent the read being hoisted out of the loop.