Patchwork [1/1] bitbake.conf: move BB_NUMBER_THREADS and PARALLEL_MAKE to bitbake.conf

login
register
mail settings
Submitter Roxana
Date July 22, 2014, 1:58 p.m.
Message ID <eb52483d72008b797160d1423aa289b1e111dac8.1406037471.git.roxana.ciobanu@intel.com>
Download mbox | patch
Permalink /patch/76367/
State Accepted
Commit f83319541aad03d4499e1d21940e599ec025547d
Headers show

Comments

Roxana - July 22, 2014, 1:58 p.m.
Currently, BB_NUMBER_THREADS and PARALLEL_MAKE default to unset and
are set in local.conf. Now that we have the automatic probing, the
default values can be set in bitbake.conf and an example of explicitly
defining how many tasks to run can be moved to
local.conf.sample.extended.

[YOCTO #6217]
Signed-off-by: Roxana Ciobanu <roxana.ciobanu@intel.com>
---
 meta-yocto/conf/local.conf.sample          | 22 ----------------------
 meta-yocto/conf/local.conf.sample.extended | 23 +++++++++++++++++++++++
 meta/conf/bitbake.conf                     |  4 ++++
 3 files changed, 27 insertions(+), 22 deletions(-)
Ross Burton - July 22, 2014, 3:32 p.m.
On 22 July 2014 14:58, Roxana Ciobanu <roxana.ciobanu@intel.com> wrote:
> +BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"

Thinking about this some more we probably need the assignments in
bitbake.conf to be ??=, or to be moved further down the file to after
local.conf has been evaluated (there's a section marked Weak
Assignments, for exactly this situation).

The reasoning being that existing local.conf files will likely have
e.g. BB_NUMBER_THREADS ?= 8 and the expectation is that this
assignment will work.  If bitbake.conf before local.conf has been
loaded uses ?= then it will assign as the value hasn't been set, so
then when local.conf is parsed the value has already been assigned and
that assignment won't have an effect.

For consistency with the other variables that have moved to
bitbake.conf, I think we should move it to the weak variables section
in bitbake.conf and keep using ?=.

Ross

Patch

diff --git a/meta-yocto/conf/local.conf.sample b/meta-yocto/conf/local.conf.sample
index bcb0864..da4a01e 100644
--- a/meta-yocto/conf/local.conf.sample
+++ b/meta-yocto/conf/local.conf.sample
@@ -12,28 +12,6 @@ 
 # variable as required.
 
 #
-# Parallelism Options
-#
-# These two options control how much parallelism BitBake should use. The first 
-# option determines how many tasks bitbake should run in parallel:
-#
-#BB_NUMBER_THREADS ?= "4"
-#
-# Default to setting automatically based on cpu count
-BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
-# 
-# The second option controls how many processes make should run in parallel when
-# running compile tasks:
-#
-#PARALLEL_MAKE ?= "-j 4"
-#
-# Default to setting automatically based on cpu count
-PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
-#
-# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
-# be appropriate for example.
-
-#
 # Machine Selection
 #
 # You need to select a specific machine to target the build with. There are a selection
diff --git a/meta-yocto/conf/local.conf.sample.extended b/meta-yocto/conf/local.conf.sample.extended
index b156319..e247a9c 100644
--- a/meta-yocto/conf/local.conf.sample.extended
+++ b/meta-yocto/conf/local.conf.sample.extended
@@ -2,6 +2,29 @@ 
 # certain recipes.
 #BBMASK = ""
 
+#
+# Parallelism Options
+#
+# These two options control how much parallelism BitBake should use. The first 
+# option determines how many tasks bitbake should run in parallel:
+#
+#BB_NUMBER_THREADS ?= "4"
+#
+# Default to setting automatically based on cpu count
+#BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
+# 
+# The second option controls how many processes make should run in parallel when
+# running compile tasks:
+#
+#PARALLEL_MAKE ?= "-j 4"
+#
+# Default to setting automatically based on cpu count
+#PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
+#
+# For a quad-core machine, BB_NUMBER_THREADS = "4", PARALLEL_MAKE = "-j 4" would
+# be appropriate for example.
+
+
 # eglibc configurability is used to reduce minimal image's size.
 # the all supported eglibc options are listed in DISTRO_FEATURES_LIBC
 # and disabled by default. Uncomment and copy the DISTRO_FEATURES_LIBC
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index f4870d5..6e7260d 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -527,6 +527,10 @@  export TARGET_LDFLAGS = "-Wl,-O1 ${TARGET_LINK_HASH_STYLE}"
 # Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
 ALLOWED_FLAGS = "-O -mcpu -march -pipe"
 
+# Default to setting automatically based on cpu count
+BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
+# Default to setting automatically based on cpu count
+PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
 # Pass parallel make options to the compile task
 EXTRA_OEMAKE_prepend_task-compile = "${PARALLEL_MAKE} "
 PARALLEL_MAKEINST ??= "${PARALLEL_MAKE}"