You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
admission: move yielding into ElasticCPUWorkHandle
ElasticCPUWorkHandle.Overlimit is expected to be called in a tight loop,
so yielding there is conceptually the right place. More importantly,
this will allow in the future for KV work that is not holding latches
to also yield.
As part of this change, elastic work that does not wish to wait in
admission control queues (due to cluster settings), is now accounted for
in the elastic tokens, and in the admission.elastic_cpu_bypassed.utilization
metric. One side-effect of this accounting is that work that needs to
wait in admission queues may have fewer tokens available to it, and may
wait longer. This is considered acceptable since:
- Elastic work that bypasses queueing is still elastic work, and our
overarching goal is to reduce impact to foreground work.
- Due to the default on use of runtime.Yield, all elastic work yields,
which allows the system to run at higher elastic CPU utilization without
impacting the latency of foreground work.
Epic: none
Release note: None
0 commit comments