* [PATCH V2] rust: Enable parallel-frontend-threads
@ 2026-03-13 6:02 sundeep.kokkonda
2026-03-14 6:54 ` [OE-core] " Mathieu Dubois-Briand
0 siblings, 1 reply; 3+ messages in thread
From: sundeep.kokkonda @ 2026-03-13 6:02 UTC (permalink / raw)
To: openembedded-core; +Cc: randy.macleod
From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
Enabled the parallel-frontend-threads for faster compilation of rust code.
Test Results:
A few tests (bitbake rust) ran by with and without enabling this option.
- Machine config: Intel(R) Xeon(R) CPU E5-4669 v3 @ 2.10GHz with 144 CPUs.
- Avg. default build time (w/o this option) - 56m 50.104s
- Avg. build time with this option - 49m 17.224s
- Performance Difference - 7m 32.880s faster builds (≈ 13.3%)
parallel-frontend-threads is limited to a max of 8 for best results.
More info - https://blog.rust-lang.org/2023/11/09/parallel-rustc/
Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
---
meta/recipes-devtools/rust/rust_1.94.0.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/rust/rust_1.94.0.bb b/meta/recipes-devtools/rust/rust_1.94.0.bb
index 2be0bd8d89..3ef80444bc 100644
--- a/meta/recipes-devtools/rust/rust_1.94.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.94.0.bb
@@ -139,6 +139,7 @@ python do_configure() {
config.set("rust", "llvm-tools", e(False))
config.set("rust", "lld", e(False))
config.set("rust", "use-lld", e(False))
+ config.set("rust", "parallel-frontend-threads", min(oe.utils.parallel_make(d),8))
config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
# Whether or not to optimize the compiler and standard library
--
2.49.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH V2] rust: Enable parallel-frontend-threads
2026-03-13 6:02 [PATCH V2] rust: Enable parallel-frontend-threads sundeep.kokkonda
@ 2026-03-14 6:54 ` Mathieu Dubois-Briand
2026-03-17 10:59 ` Sundeep KOKKONDA
0 siblings, 1 reply; 3+ messages in thread
From: Mathieu Dubois-Briand @ 2026-03-14 6:54 UTC (permalink / raw)
To: sundeep.kokkonda, openembedded-core; +Cc: randy.macleod
On Fri Mar 13, 2026 at 7:02 AM CET, Sundeep KOKKONDA via lists.openembedded.org wrote:
> From: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
>
> Enabled the parallel-frontend-threads for faster compilation of rust code.
>
> Test Results:
> A few tests (bitbake rust) ran by with and without enabling this option.
> - Machine config: Intel(R) Xeon(R) CPU E5-4669 v3 @ 2.10GHz with 144 CPUs.
> - Avg. default build time (w/o this option) - 56m 50.104s
> - Avg. build time with this option - 49m 17.224s
> - Performance Difference - 7m 32.880s faster builds (≈ 13.3%)
>
> parallel-frontend-threads is limited to a max of 8 for best results.
> More info - https://blog.rust-lang.org/2023/11/09/parallel-rustc/
>
> Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
> ---
Hi Sundeep,
It looks like this is causing some reproducibility issues:
AssertionError: The following deb packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/rust-dbg_1.94.0-r0_amd64.deb
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/rust_1.94.0-r0_amd64.deb
The following ipk packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/rust-dbg_1.94.0-r0_x86-64-v3.ipk
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/rust_1.94.0-r0_x86-64-v3.ipk
The following rpm packages are different and not in exclusion list:
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/rust-1.94.0-r0.x86_64_v3.rpm
/srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/rust-dbg-1.94.0-r0.x86_64_v3.rpm
Diffoscope output is here:
https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260313-gl43mwtc/packages/diff-html/
Can you have a look at it?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [OE-core] [PATCH V2] rust: Enable parallel-frontend-threads
2026-03-14 6:54 ` [OE-core] " Mathieu Dubois-Briand
@ 2026-03-17 10:59 ` Sundeep KOKKONDA
0 siblings, 0 replies; 3+ messages in thread
From: Sundeep KOKKONDA @ 2026-03-17 10:59 UTC (permalink / raw)
To: openembedded-core, Mathieu Dubois-Briand; +Cc: Randy MacLeod
[-- Attachment #1: Type: text/plain, Size: 3305 bytes --]
On 14-Mar-26 12:24, Mathieu Dubois-Briand via lists.openembedded.org wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Fri Mar 13, 2026 at 7:02 AM CET, Sundeep KOKKONDA via lists.openembedded.org wrote:
>> From: Sundeep KOKKONDA<sundeep.kokkonda@windriver.com>
>>
>> Enabled the parallel-frontend-threads for faster compilation of rust code.
>>
>> Test Results:
>> A few tests (bitbake rust) ran by with and without enabling this option.
>> - Machine config: Intel(R) Xeon(R) CPU E5-4669 v3 @ 2.10GHz with 144 CPUs.
>> - Avg. default build time (w/o this option) - 56m 50.104s
>> - Avg. build time with this option - 49m 17.224s
>> - Performance Difference - 7m 32.880s faster builds (≈ 13.3%)
>>
>> parallel-frontend-threads is limited to a max of 8 for best results.
>> More info -https://blog.rust-lang.org/2023/11/09/parallel-rustc/
>>
>> Signed-off-by: Sundeep KOKKONDA<sundeep.kokkonda@windriver.com>
>> ---
> Hi Sundeep,
>
> It looks like this is causing some reproducibility issues:
>
> AssertionError: The following deb packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/rust-dbg_1.94.0-r0_amd64.deb
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/deb/./x86-64-v3/rust_1.94.0-r0_amd64.deb
> The following ipk packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/rust-dbg_1.94.0-r0_x86-64-v3.ipk
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/ipk/./x86-64-v3/rust_1.94.0-r0_x86-64-v3.ipk
> The following rpm packages are different and not in exclusion list:
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/rust-1.94.0-r0.x86_64_v3.rpm
> /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./x86_64_v3/rust-dbg-1.94.0-r0.x86_64_v3.rpm
>
> Diffoscope output is here:
> https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20260313-gl43mwtc/packages/diff-html/
>
> Can you have a look at it?
Hello,
I am able to reproduce the issue. I see the
/librustc_driver-3a7e57d3c38387b5.so/ has changed between the builds.
The 'BuildID' is different in both .so files which is happening due to a
difference in .gnu_debuglink section.
I am further analyzing how this option is affecting this section.
Thanks,
Sundeep K.
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#233071):https://lists.openembedded.org/g/openembedded-core/message/233071
> Mute This Topic:https://lists.openembedded.org/mt/118293063/7677583
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [sundeep.kokkonda@eng.windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
[-- Attachment #2: Type: text/html, Size: 5053 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-17 10:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-13 6:02 [PATCH V2] rust: Enable parallel-frontend-threads sundeep.kokkonda
2026-03-14 6:54 ` [OE-core] " Mathieu Dubois-Briand
2026-03-17 10:59 ` Sundeep KOKKONDA
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox