Enable sleep OCall and tweak default sleep #1625
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#1100 previously enabled backoff in enclave after an interval to avoid spinning for extended periods of time.
Unfortunately the migration of internal Open Enclave OCalls to EDL caused this to break inadvertently, because we did not explicitly enable the nanosleep ocall. After testing with the existing value, CPU usage is still near 100%, so this is bumping it up to 50ms, which makes usage about 16% when idle.
The right solution here likely involves a CCF OCall with a condition variable on the host side, or something similar, to strike a better tradeoff between usage and latency on resume. This is a short term improvement over the current situation though.