diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2016-04-18 16:01:58 -0700 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2016-04-18 16:01:58 -0700 |
commit | 2e1e3c36949eae5eeb18dbe56dfaebf014bee5b6 (patch) | |
tree | 4fa745a758b8d8566e73d36c627236ed6a2c5655 | |
parent | f9c84f19cfa421a019fedbce0c2fada0c98971ee (diff) |
364.15364.15
-rw-r--r-- | misc.c | 15 | ||||
-rw-r--r-- | option_table.h | 4 | ||||
-rw-r--r-- | version.mk | 2 |
3 files changed, 16 insertions, 5 deletions
@@ -3089,12 +3089,21 @@ void set_concurrency_level(Options *op) ui_log(op, "Concurrency level set to %d on the command line.", op->concurrency_level); } else { + /* Systems with very high CPU counts may hit the max tasks limit. */ + static const int max_default_cpus = 32; + int default_concurrency; #if defined _SC_NPROCESSORS_ONLN detected_cpus = sysconf(_SC_NPROCESSORS_ONLN); + if (detected_cpus < max_default_cpus) { + default_concurrency = detected_cpus; + } else { + default_concurrency = max_default_cpus; + } + if (detected_cpus >= 1) { ui_log(op, "Detected %d CPUs online; setting concurrency level " - "to %d.", detected_cpus, detected_cpus); + "to %d.", detected_cpus, default_concurrency); } else #else #warning _SC_NPROCESSORS_ONLN not defined; nvidia-installer will not be able \ @@ -3103,9 +3112,9 @@ to detect the number of processors. { ui_log(op, "Unable to detect the number of processors: setting " "concurrency level to 1."); - detected_cpus = 1; + default_concurrency = 1; } - op->concurrency_level = detected_cpus; + op->concurrency_level = default_concurrency; } if (op->expert) { diff --git a/option_table.h b/option_table.h index 43fee46..326d84a 100644 --- a/option_table.h +++ b/option_table.h @@ -643,7 +643,9 @@ static const NVGetoptOption __options[] = { "Set the concurrency level for operations such as building the kernel " "module which may be parallelized on SMP systems. By default, this will " "be set to the number of detected CPUs, or to '1', if nvidia-installer " - "fails to detect the number of CPUs." }, + "fails to detect the number of CPUs. Systems with a large number of " + "CPUs will have the default concurrency level limited to 32; setting " + "a higher level on the command line will override this limit." }, { "force-libglx-indirect", FORCE_LIBGLX_INDIRECT, 0, NULL, "If the package includes a libglvnd-based OpenGL library, then always " @@ -1 +1 @@ -NVIDIA_VERSION = 364.12 +NVIDIA_VERSION = 364.15 |