xz: Minor internal changes to handling of --threads.
Now it always defaults to one thread. Maybe this will change again if a threading method is added that doesn't affect memory usage.
This commit is contained in:
parent
9edd6ee895
commit
335fe260a8
|
@ -179,8 +179,8 @@ parse_real(args_info *args, int argc, char **argv)
|
|||
break;
|
||||
|
||||
case 'T':
|
||||
hardware_threadlimit_set(str_to_uint64(
|
||||
"threads", optarg, 0, UINT32_MAX));
|
||||
hardware_threads_set(str_to_uint64("threads",
|
||||
optarg, 0, LZMA_THREADS_MAX));
|
||||
break;
|
||||
|
||||
// --version
|
||||
|
|
|
@ -14,9 +14,9 @@
|
|||
#include "tuklib_cpucores.h"
|
||||
|
||||
|
||||
/// Maximum number of free *coder* threads. This can be set with
|
||||
/// Maximum number of worker threads. This can be set with
|
||||
/// the --threads=NUM command line option.
|
||||
static uint32_t threadlimit;
|
||||
static uint32_t threads_max = 1;
|
||||
|
||||
/// Memory usage limit for compression
|
||||
static uint64_t memlimit_compress;
|
||||
|
@ -29,15 +29,16 @@ static uint64_t total_ram;
|
|||
|
||||
|
||||
extern void
|
||||
hardware_threadlimit_set(uint32_t new_threadlimit)
|
||||
hardware_threads_set(uint32_t n)
|
||||
{
|
||||
if (new_threadlimit == 0) {
|
||||
// The default is the number of available CPU cores.
|
||||
threadlimit = tuklib_cpucores();
|
||||
if (threadlimit == 0)
|
||||
threadlimit = 1;
|
||||
if (n == 0) {
|
||||
// Automatic number of threads was requested.
|
||||
// Use the number of available CPU cores.
|
||||
threads_max = tuklib_cpucores();
|
||||
if (threads_max == 0)
|
||||
threads_max = 1;
|
||||
} else {
|
||||
threadlimit = new_threadlimit;
|
||||
threads_max = n;
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -45,9 +46,9 @@ hardware_threadlimit_set(uint32_t new_threadlimit)
|
|||
|
||||
|
||||
extern uint32_t
|
||||
hardware_threadlimit_get(void)
|
||||
hardware_threads_get(void)
|
||||
{
|
||||
return threadlimit;
|
||||
return threads_max;
|
||||
}
|
||||
|
||||
|
||||
|
@ -139,6 +140,5 @@ hardware_init(void)
|
|||
|
||||
// Set the defaults.
|
||||
hardware_memlimit_set(0, true, true, false);
|
||||
hardware_threadlimit_set(0);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -15,12 +15,11 @@
|
|||
extern void hardware_init(void);
|
||||
|
||||
|
||||
/// Set custom value for maximum number of coder threads.
|
||||
extern void hardware_threadlimit_set(uint32_t threadlimit);
|
||||
/// Set the maximum number of worker threads.
|
||||
extern void hardware_threads_set(uint32_t threadlimit);
|
||||
|
||||
/// Get the maximum number of coder threads. Some additional helper threads
|
||||
/// are allowed on top of this).
|
||||
extern uint32_t hardware_threadlimit_get(void);
|
||||
/// Get the maximum number of worker threads.
|
||||
extern uint32_t hardware_threads_get(void);
|
||||
|
||||
|
||||
/// Set the memory usage limit. There are separate limits for compression
|
||||
|
|
Loading…
Reference in New Issue