commit b9de73e46ea86de1ca1e4810cd14ea21c81acfc8
parent 8713d9762a79c46829891cafbcf1a972f0946065
Author: David Goulet <dgoulet@torproject.org>
Date: Wed, 23 Nov 2022 13:40:47 -0500
cpu: Set number of threads to number of cores
Cap this to 2 threads always because we need a low and high priority
thread even with a single core.
Fixes #40713
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat:
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/changes/ticket40713 b/changes/ticket40713
@@ -0,0 +1,4 @@
+ o Minor feature (cpuworker):
+ - Always use the number of threads for our CPU worker pool to the number of
+ core available but cap it to a minimum of 2 in case of a single core.
+ Fixes bug 40713; bugfix on 0.3.5.1-alpha.
diff --git a/src/core/mainloop/cpuworker.c b/src/core/mainloop/cpuworker.c
@@ -129,7 +129,7 @@ cpu_init(void)
always make sure we have at least two threads, so that there will be at
least one thread of each kind.
*/
- const int n_threads = get_num_cpus(get_options()) + 1;
+ const int n_threads = MAX(get_num_cpus(get_options()), 2);
threadpool = threadpool_new(n_threads,
replyqueue,
worker_state_new,