| 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 |
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 --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
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(-)