diff mbox series

[2/4] glibc: remove obsolete parallelism flag handling

Message ID 20260805160320.41908-2-ross.burton@arm.com
State Accepted, archived
Commit 83d11b337384af5dcc8233453a1aff4b8f5ffa05
Headers show
Series [1/4] oeqa/selftest/glibc: remove obsolete parallel make assignment | expand

Commit Message

Ross Burton Aug. 5, 2026, 4:03 p.m. UTC
Several problems here: the comment refers to PARALLELMFLAGS (which is a
variable in glibc's Makefile) but the actual assignment is to
EGLIBCPARALLELISM, which is an eglibc-ism and thus not respected by
glibc. Thus we were emptying PARALLEL_MAKE and so not actually doing the
build in parallel.

The Makefiles as of glibc 2.44[1] actually build in parallel well using
the standard way to pass flags, so drop all of this logic.

On my machine this has noticable improvements to walltime:

  do_compile:  86s -> 44s
  do_install:  55s -> 40s

Note that there is a PARALLELMFLAGS variable in the Makefiles, but using
it has marginal gains over not and upstream are looking at removing it
entirely.

[1] glibc 7cac99621e ("Makefile: Run the subdirectory recursion in parallel")

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-core/glibc/glibc.inc | 7 -------
 1 file changed, 7 deletions(-)

Comments

Richard Purdie Aug. 6, 2026, 8:47 a.m. UTC | #1
On Wed, 2026-08-05 at 17:03 +0100, Ross Burton via lists.openembedded.org wrote:
> Several problems here: the comment refers to PARALLELMFLAGS (which is a
> variable in glibc's Makefile) but the actual assignment is to
> EGLIBCPARALLELISM, which is an eglibc-ism and thus not respected by
> glibc. Thus we were emptying PARALLEL_MAKE and so not actually doing the
> build in parallel.
> 
> The Makefiles as of glibc 2.44[1] actually build in parallel well using
> the standard way to pass flags, so drop all of this logic.
> 
> On my machine this has noticable improvements to walltime:
> 
>   do_compile:  86s -> 44s
>   do_install:  55s -> 40s
> 
> Note that there is a PARALLELMFLAGS variable in the Makefiles, but using
> it has marginal gains over not and upstream are looking at removing it
> entirely.
> 
> [1] glibc 7cac99621e ("Makefile: Run the subdirectory recursion in parallel")
> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta/recipes-core/glibc/glibc.inc | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index 560ebef677c..27a911dd8ff 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -29,13 +29,6 @@ CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
>  GLIBC_EXTRA_OECONF ?= ""
>  GLIBC_EXTRA_OECONF:class-nativesdk = ""
>  
> -# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
> -# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
> -EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
> -EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
> -EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
> -PARALLEL_MAKE = ""
> -
>  # glibc make-syscalls.sh has a number of issues with /bin/dash and
>  # it's output which make calls via the SHELL also has issues, so
>  # ensure make uses /bin/bash
> 


Unfortunately
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/4399
is full of what look like parallel make failures :(

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
index 560ebef677c..27a911dd8ff 100644
--- a/meta/recipes-core/glibc/glibc.inc
+++ b/meta/recipes-core/glibc/glibc.inc
@@ -29,13 +29,6 @@  CACHED_CONFIGUREVARS:append:mipsarch = " libc_cv_ld_gnu_indirect_function=no"
 GLIBC_EXTRA_OECONF ?= ""
 GLIBC_EXTRA_OECONF:class-nativesdk = ""
 
-# glibc uses PARALLELMFLAGS variable to pass parallel build info so transfer
-# PARALLEL_MAKE into PARALLELMFLAGS and empty out PARALLEL_MAKE
-EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
-EXTRA_OEMAKE[vardepsexclude] += "EGLIBCPARALLELISM"
-EXTRA_OEMAKE += "${EGLIBCPARALLELISM}"
-PARALLEL_MAKE = ""
-
 # glibc make-syscalls.sh has a number of issues with /bin/dash and
 # it's output which make calls via the SHELL also has issues, so
 # ensure make uses /bin/bash