diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-05-13 15:09:44 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-05-15 09:41:34 +0200 |
| commit | b06915be5067f0cbcef9726b986f5cd261e85898 (patch) | |
| tree | 17d81bd6a3cf1768587b696f1ac7aa45088b9145 | |
| parent | e191432724e7c2f07953704a8fc875e4ccf9f55e (diff) | |
| download | mullvadvpn-b06915be5067f0cbcef9726b986f5cd261e85898.tar.xz mullvadvpn-b06915be5067f0cbcef9726b986f5cd261e85898.zip | |
Enable all worker threads
| -rw-r--r-- | mullvad-daemon/src/runtime.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/mullvad-daemon/src/runtime.rs b/mullvad-daemon/src/runtime.rs index 86d251db4c..5f4521ed01 100644 --- a/mullvad-daemon/src/runtime.rs +++ b/mullvad-daemon/src/runtime.rs @@ -1,8 +1,21 @@ +use std::num::NonZero; use tokio::runtime; +const MIN_NUM_THREADS: NonZero<usize> = NonZero::new(4).unwrap(); + pub fn new_multi_thread() -> runtime::Builder { let mut builder = runtime::Builder::new_multi_thread(); - builder.worker_threads(4).enable_all(); + match std::thread::available_parallelism() { + Ok(num_cpus) if num_cpus < MIN_NUM_THREADS => { + builder.worker_threads(MIN_NUM_THREADS.into()); + } + // Use default number of workers + Ok(_) => (), + Err(error) => { + log::warn!("Failed to retrieve number of CPU cores: {error}"); + } + } + builder.enable_all(); builder } |
