From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6834007135866585088 X-Received: by 2002:a50:ac84:: with SMTP id x4mr31564016edc.124.1591177789205; Wed, 03 Jun 2020 02:49:49 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:24da:: with SMTP id f26ls638524ejb.4.gmail; Wed, 03 Jun 2020 02:49:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwDPjFniLk+2mdeptPVHfvuAI7Pucm26KnhuUxacwwe+BFvoRC+uJGqhUASnn/SkPsOs/Gs X-Received: by 2002:a17:907:270d:: with SMTP id w13mr7489518ejk.134.1591177788591; Wed, 03 Jun 2020 02:49:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591177788; cv=none; d=google.com; s=arc-20160816; b=xRCv5o9/JfR/H+xrauz8wR6K3W+EasAaqxcSb1WvezvFzUnQxWepVY7HHmcqnHYqlz cgFfHl+tA5aIrBF+zH8tFC5omCE6CGJ7m0JrHPYUEMaKzezeOmPv3UZ/ITtxBbKJTvEA EuW8araPuHOhAPj1UNxUphcNHd9m08/fR+TzjjiD4zn8O/McyBzNOokGKyKxhbUKnDlX IVDg4FH753NczIQ+6BLxAOXHLmqlUZ8aJbBF9ge1vWysGerlN+z9HmGQISFtZeLmBhWW mv60ufe29o3/NoleMYSIi0os0Mn99Ywz0WEap5d0r3CJs6x6Nq6YLIZN5neI8B9Srpv4 d3Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date; bh=lU41UbhF79+ukV/VLHZ/4pSUVfkQmPxcY2wYkSyEu2Q=; b=ynoCOVOCyac6E4HXrE/hxG9yPQi/ivlx0pU/g8qXbyQ2YY/S7QjJnBA0KAd3pSPvmd a18Ke6XBVkbsZj9fBXLN2kcczgWBqMTQ8iX0leHh2dApPTDR8M2v5WzWQQvRv+BcFHbD 3U6RxxG/bx+n34I62NHxFXAB0JGF0N9rvu6+gj2s3TFFAMItm3scL5XNmBXIW+lh9HcG VpBKcG7IGN/svzCTJ19PB+qKD+GSOhvcS0YaUCXRhnatMjr9RjscVrNAyVdoDmibA9Ft WonyrwwwFzJDTzxROSg9hUlPHaH1z4clnGUdDK0BShAUAZhnpzDfuT9VBiMMKE5M/Sy6 TtZQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id a2si92939edq.3.2020.06.03.02.49.48 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jun 2020 02:49:48 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=henning.schild@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id 0539nlMr000867 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 3 Jun 2020 11:49:47 +0200 Received: from md1za8fc.ad001.siemens.net ([167.87.15.188]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 0539nlYA031736; Wed, 3 Jun 2020 11:49:47 +0200 Date: Wed, 3 Jun 2020 11:49:46 +0200 From: Henning Schild To: "[ext] Jan Kiszka" Cc: isar-users Subject: Re: [PATCH] Consolidate over PARALLEL_MAKE Message-ID: <20200603114946.3f1db38c@md1za8fc.ad001.siemens.net> In-Reply-To: References: X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: +JbxAz+iS7Lk On Wed, 3 Jun 2020 08:37:57 +0200 "[ext] Jan Kiszka" wrote: > From: Jan Kiszka > > Replace self-invented / open-coded parallel build rules over the OE > pattern PARALLEL_MAKE. Should specifically reduce the spread of > PARALLEL_BUILD definitions in downstream layers. Mea culpa. > > Signed-off-by: Jan Kiszka > --- > meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules | 5 ++--- > meta/classes/dpkg.bbclass | 1 + > meta/conf/bitbake.conf | 4 ++++ > meta/recipes-bsp/u-boot/files/debian/rules | 8 +++----- > meta/recipes-kernel/linux/files/debian/isar/build.tmpl | 2 +- > 5 files changed, 11 insertions(+), 9 deletions(-) > > diff --git a/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules > b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules index > c8feb715..c3fc50a9 100644 --- > a/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules +++ > b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules @@ -4,10 > +4,9 @@ ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) export > CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- endif > > -PARALLEL_BUILD=-j $(shell echo $$(($$(nproc) * 2))) > - > override_dh_auto_build: > - CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_BUILD) > PLATFORM=sifive/fu540 > FW_PAYLOAD_PATH=/usr/lib/u-boot/sifive_fu540/u-boot.bin > + CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_MAKE) > PLATFORM=sifive/fu540 \ > + > FW_PAYLOAD_PATH=/usr/lib/u-boot/sifive_fu540/u-boot.bin > %: > dh $@ > diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > index 585365ee..acccc1f2 100644 > --- a/meta/classes/dpkg.bbclass > +++ b/meta/classes/dpkg.bbclass > @@ -25,6 +25,7 @@ addtask devshell after do_install_builddeps > # Build package from sources using build script > dpkg_runbuild() { > E="${@ isar_export_proxies(d)}" > + export PARALLEL_MAKE="${PARALLEL_MAKE}" > sudo -E chroot --userspec=$( id -u ):$( id -g ) > ${BUILDCHROOT_DIR} \ /isar/build.sh ${PP}/${PPS} ${DISTRO_ARCH} > } > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > index 848e085a..0e0c79e0 100644 > --- a/meta/conf/bitbake.conf > +++ b/meta/conf/bitbake.conf > @@ -101,8 +101,12 @@ BB_HASHCONFIG_WHITELIST ?= > "${BB_HASHBASE_WHITELIST} DATE TIME SSH_AGENT_PID \ > BB_SIGNATURE_HANDLER ?= "basichash" BB_STAMP_POLICY ?= "full" > > +# Default to setting automatically based on cpu count > BB_NUMBER_THREADS ?= "${@bb.utils.cpu_count()}" > > +# Default to setting automatically based on cpu count > +PARALLEL_MAKE ?= "-j ${@bb.utils.cpu_count()}" Maybe derive it from the other one "-j ${BB_NUMBER_THREADS}" ? For make it is often suggested to use slightly more threads than available CPUs, when some threads are doing IO you still get to use all CPUs. There was a "*2" ... Henning > BBINCLUDELOGS ??= "yes" > > # Add event handlers for bitbake > diff --git a/meta/recipes-bsp/u-boot/files/debian/rules > b/meta/recipes-bsp/u-boot/files/debian/rules index 3f7a3218..92c07b17 > 100755 --- a/meta/recipes-bsp/u-boot/files/debian/rules > +++ b/meta/recipes-bsp/u-boot/files/debian/rules > @@ -12,12 +12,10 @@ export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- > SET_CROSS_BUILD_TOOLS=CROSS_BUILD_TOOLS=y > endif > > -PARALLEL_BUILD=-j $(shell echo $$(($$(nproc) * 2))) > - > override_dh_auto_build: > - $(MAKE) $(PARALLEL_BUILD) $(U_BOOT_CONFIG) > - $(MAKE) $(PARALLEL_BUILD) ${U_BOOT_BIN} > - $(MAKE) $(PARALLEL_BUILD) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 > tools-only envtools > + $(MAKE) $(PARALLEL_MAKE) $(U_BOOT_CONFIG) > + $(MAKE) $(PARALLEL_MAKE) ${U_BOOT_BIN} > + $(MAKE) $(PARALLEL_MAKE) $(SET_CROSS_BUILD_TOOLS) NO_SDL=1 > tools-only envtools > override_dh_auto_install: > mv tools/env/lib.a tools/env/libubootenv.a > diff --git a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl > b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl index > 17983e4d..b7749cec 100644 --- > a/meta/recipes-kernel/linux/files/debian/isar/build.tmpl +++ > b/meta/recipes-kernel/linux/files/debian/isar/build.tmpl @@ -22,7 > +22,7 @@ do_build() { set -x > > # Build the Linux kernel > - ${MAKE} O=${KERNEL_BUILD_DIR} -j $(nproc) || exit ${?} > + ${MAKE} O=${KERNEL_BUILD_DIR} ${PARALLEL_MAKE} || exit ${?} > > # Stop tracing > set +x