mirror of
https://github.com/Zygo/bees.git
synced 2025-05-17 13:25:45 +02:00
options: remove default 8 CPU thread limit
Higher CPU core counts became more common, and kernel bugs became less common, since the arbitrary 8-thread limit was introduced. We can remove the limit now, and treat any remaining scaling inefficiency as a bug to be removed. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
parent
032c740678
commit
fbd1091052
@ -16,12 +16,6 @@
|
|||||||
below 1.0 to leave some cores idle, or above 1.0 if there are more
|
below 1.0 to leave some cores idle, or above 1.0 if there are more
|
||||||
disks than CPUs in the filesystem.
|
disks than CPUs in the filesystem.
|
||||||
|
|
||||||
If the computed thread count is higher than `BEES_DEFAULT_THREAD_LIMIT`
|
|
||||||
(currently 8), then only that number of threads will be created.
|
|
||||||
This limit can be overridden by the `--thread-count` option; however,
|
|
||||||
be aware that there are [kernel issues with systems that have many CPU
|
|
||||||
cores](btrfs-kernel.md) when users try to run bees on all of them.
|
|
||||||
|
|
||||||
* `--loadavg-target LOADAVG` or `-g`
|
* `--loadavg-target LOADAVG` or `-g`
|
||||||
|
|
||||||
Specify load average target for dynamic worker threads. Default is
|
Specify load average target for dynamic worker threads. Default is
|
||||||
|
@ -842,11 +842,6 @@ bees_main(int argc, char *argv[])
|
|||||||
thread_factor = BEES_DEFAULT_THREAD_FACTOR;
|
thread_factor = BEES_DEFAULT_THREAD_FACTOR;
|
||||||
}
|
}
|
||||||
thread_count = max(1U, static_cast<unsigned>(ceil(thread::hardware_concurrency() * thread_factor)));
|
thread_count = max(1U, static_cast<unsigned>(ceil(thread::hardware_concurrency() * thread_factor)));
|
||||||
if (thread_count > BEES_DEFAULT_THREAD_LIMIT) {
|
|
||||||
BEESLOGNOTICE("Limiting computed thread count to " << BEES_DEFAULT_THREAD_LIMIT);
|
|
||||||
BEESLOGNOTICE("Use --thread-count to override this limit");
|
|
||||||
thread_count = BEES_DEFAULT_THREAD_LIMIT;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (load_target != 0) {
|
if (load_target != 0) {
|
||||||
|
@ -86,9 +86,6 @@ const size_t BEES_OPEN_FILE_LIMIT = (BEES_FILE_FD_CACHE_SIZE + BEES_ROOT_FD_CACH
|
|||||||
// Worker thread factor (multiplied by detected number of CPU cores)
|
// Worker thread factor (multiplied by detected number of CPU cores)
|
||||||
const double BEES_DEFAULT_THREAD_FACTOR = 1.0;
|
const double BEES_DEFAULT_THREAD_FACTOR = 1.0;
|
||||||
|
|
||||||
// Don't use more than this number of threads unless explicitly configured
|
|
||||||
const size_t BEES_DEFAULT_THREAD_LIMIT = 8;
|
|
||||||
|
|
||||||
// Log warnings when an operation takes too long
|
// Log warnings when an operation takes too long
|
||||||
const double BEES_TOO_LONG = 5.0;
|
const double BEES_TOO_LONG = 5.0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user