From e05c636bc85fd06b8f5b2f941ddd7d5b8e3e8b9c Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Tue, 5 May 2015 07:39:20 -0700 Subject: ref-manual, dev-manual: Added info about make race work-around I updated both the PARALLEL_MAKE and PARALLEL_MAKEINST variables by expanding the note to indicate how to prohibit parallel make threads. Also, added a cross-referencing link to the "Debugging Parallel Make Races" section. I added a short note to the start of the "Debugging Parallel Make Races" section noting that if they can't properly fix the condition, they can always do a work-around to set the PARALLEL_MAKE or PARALLEL_MAKEINST variables to null. Reported-by: Robert P. J. Day (From yocto-docs rev: f8dccf3f115647cb039d91415819186cf38fa8bb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- .../dev-manual/dev-manual-common-tasks.xml | 8 ++++++ documentation/ref-manual/ref-variables.xml | 31 +++++++++++++++------- 2 files changed, 29 insertions(+), 10 deletions(-) (limited to 'documentation') diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 1d4e34f91e..bab68a1bb9 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml @@ -9089,6 +9089,14 @@ you debug and fix them. This section presents a real-world example of an error encountered on the Yocto Project autobuilder and the process used to fix it. + + If you cannot properly fix a make race + condition, you can work around it by clearing either the + PARALLEL_MAKE + or + PARALLEL_MAKEINST + variables. +
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml index 27008c7a5d..dfe775b23f 100644 --- a/documentation/ref-manual/ref-variables.xml +++ b/documentation/ref-manual/ref-variables.xml @@ -8525,13 +8525,18 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" - The OpenEmbedded build system automatically sets this - variable to be equal to the number of cores the build - system uses. + By default, the OpenEmbedded build system automatically + sets this variable to be equal to the number of cores the + build system uses. - Individual recipes might clear out this variable if - the software being built has problems running its - make process in parallel. + If the software being built experiences dependency + issues during the do_compile + task that result in race conditions, you can clear + the PARALLEL_MAKE variable within + the recipe as a workaround. + For information on addressing race conditions, see the + "Debugging Parallel Make Races" + section in the Yocto Project Development Manual. For single socket systems (i.e. one CPU), you should not have to override this variable to gain optimal parallelism @@ -8539,7 +8544,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" However, if you have very large systems that employ multiple physical CPUs, you might want to make sure the PARALLEL_MAKE variable is not - set higher than "20". + set higher than "-j 20". @@ -8564,9 +8569,15 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3" This variable defaults to the value of PARALLEL_MAKE. - Individual recipes might clear out this variable if - the software being built has problems running its - make install process in parallel. + If the software being built experiences dependency + issues during the + do_install task that result in + race conditions, you can clear the + PARALLEL_MAKEINST variable within + the recipe as a workaround. + For information on addressing race conditions, see the + "Debugging Parallel Make Races" + section in the Yocto Project Development Manual. -- cgit v1.2.3-54-g00ecf