summaryrefslogtreecommitdiff
path: root/changes/better_workqueues
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-10-02 12:32:09 -0400
committerNick Mathewson <nickm@torproject.org>2015-01-14 11:23:34 -0500
commit1e896214e7eb5ede65663486291252b171e9daea (patch)
tree3f8d6aeb91e844888f16a2295e2200e22979a181 /changes/better_workqueues
parentcc6529e9bb7d7e01a25b5632d6d6c2424c6fc2b4 (diff)
downloadtor-1e896214e7eb5ede65663486291252b171e9daea.tar.gz
tor-1e896214e7eb5ede65663486291252b171e9daea.zip
Refactor cpuworker to use workqueue/threadpool code.
Diffstat (limited to 'changes/better_workqueues')
-rw-r--r--changes/better_workqueues10
1 files changed, 10 insertions, 0 deletions
diff --git a/changes/better_workqueues b/changes/better_workqueues
new file mode 100644
index 0000000000..32c984cb71
--- /dev/null
+++ b/changes/better_workqueues
@@ -0,0 +1,10 @@
+ o Major features:
+ - Refactor the CPU worker implementation for better performance by
+ avoiding the kernel and lengthening pipelines. The original
+ implementation used sockets to transfer data from the main thread
+ to the worker threads, and didn't allow any thread to be assigned
+ more than a single piece of work at once. The new implementation
+ avoids communications overhead by making requests in shared
+ memory, avoiding kernel IO where possible, and keeping more
+ request in flight at once. Resolves issue #9682.
+