summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2016-04-18 16:01:58 -0700
committerAaron Plattner <aplattner@nvidia.com>2016-04-18 16:01:58 -0700
commit2e1e3c36949eae5eeb18dbe56dfaebf014bee5b6 (patch)
tree4fa745a758b8d8566e73d36c627236ed6a2c5655
parentf9c84f19cfa421a019fedbce0c2fada0c98971ee (diff)
364.15364.15
-rw-r--r--misc.c15
-rw-r--r--option_table.h4
-rw-r--r--version.mk2
3 files changed, 16 insertions, 5 deletions
diff --git a/misc.c b/misc.c
index 39b1945..36c0d75 100644
--- a/misc.c
+++ b/misc.c
@@ -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 "
diff --git a/version.mk b/version.mk
index 6a12cf6..ccfd197 100644
--- a/version.mk
+++ b/version.mk
@@ -1 +1 @@
-NVIDIA_VERSION = 364.12
+NVIDIA_VERSION = 364.15