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
Tokio's automatic cooperative task yielding feature can cause abruptly prevent a task from making further progress. A very busy connection driver might as a result end up failing to fairly serve transmits or timeouts, resulting in bad behavior (e.g. spurious timeouts or congestion window reduction) under heavy load.
Ideally tokio will expose some tools to arrange for budget fairness across subtasks (e.g. annotations to designate subtasks that should have independent budgets), but if none are forthcoming, we could address this internally by e.g. varying the order we perform operations in by round robin. The current order was chosen for efficiency, however, so an upstream solution is preferred.
The text was updated successfully, but these errors were encountered:
Tokio's automatic cooperative task yielding feature can cause abruptly prevent a task from making further progress. A very busy connection driver might as a result end up failing to fairly serve transmits or timeouts, resulting in bad behavior (e.g. spurious timeouts or congestion window reduction) under heavy load.
Ideally tokio will expose some tools to arrange for budget fairness across subtasks (e.g. annotations to designate subtasks that should have independent budgets), but if none are forthcoming, we could address this internally by e.g. varying the order we perform operations in by round robin. The current order was chosen for efficiency, however, so an upstream solution is preferred.
The text was updated successfully, but these errors were encountered: