summaryrefslogtreecommitdiff
path: root/changes
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-07-12 11:47:01 -0400
committerNick Mathewson <nickm@torproject.org>2017-07-27 16:28:05 -0400
commit10e0bff4caba483d971d2a4718a40f62530a66ed (patch)
treed0e8151c7d92177a2cf5050c2667b0a0ac300a7a /changes
parent5636b160d42e344f936f881992c19b3c27f60a2c (diff)
downloadtor-10e0bff4caba483d971d2a4718a40f62530a66ed.tar.gz
tor-10e0bff4caba483d971d2a4718a40f62530a66ed.zip
Add support for multi-priority workqueues
Each piece of queued work now has an associated priority value; each priority goes on a separate queue. With probability (N-1)/N, the workers will take work from the highest priority nonempty queue. Otherwise, they'll look for work in a queue of lower priority. This behavior is meant to prevent starvation for lower-priority tasks.
Diffstat (limited to 'changes')
-rw-r--r--changes/multi-priority5
1 files changed, 5 insertions, 0 deletions
diff --git a/changes/multi-priority b/changes/multi-priority
new file mode 100644
index 0000000000..6f19314b53
--- /dev/null
+++ b/changes/multi-priority
@@ -0,0 +1,5 @@
+ o Minor features (relay, thread pool):
+ - Allow background work to be queued with different priorities, so
+ that a big pile of slow low-priority jobs will not starve out
+ higher priority jobs. This lays the groundwork for a fix for bug
+ 22883.