| Summary: | Investigate and reduce significant build time increase | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Randy MacLeod <randy.macleod> |
| Component: | deployment | Assignee: | Ross Burton <ross.burton> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | raj.khem, ross.burton, sundeep.kokkonda, sundeep.kokkonda |
| Version: | 5.3 | ||
| Target Milestone: | 5.3 M3 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
| Bug Depends on: | |||
| Bug Blocks: | 15852 | ||
|
Description
Randy MacLeod
2025-05-06 17:19:01 UTC
Add Ross, Khem, Sundeep. Sundeep wasn't in the meeting discussion so FYI, Khem has some ideas about changing the defaults for clang:target. https://lists.openembedded.org/g/openembedded-core/message/216117 https://lists.openembedded.org/g/openembedded-core/message/216116 should help here. I'll note that we appear to be building mesa-native with llvmpipe, and I'm not sure if that's desired. We currently have a mostly monolithic clang recipe that builds llvm/clang/clang-tools/lldb/libclc in one shot, which is neat but incredibly time consuming. We do already build compiler-rt, libcxx, and openmp separately. I think we should extend this further. As a concrete data point, disabling lldb in clang removed over 100MB from the sysroot and two minutes of build time on my Altra build machine. Adding a disabled-by-default PACKAGECONFIG to clang for lldb would be prohibitively costly as if a user wants it they'd need to rebuild all of clang again. libclc and lldb should be the easiest to pull out into separate recipes, although I do note that clang can be configured to use a system llvm, so we should be able to tease apart llvm and clang too, which will help setups which need llvm but not clang (for example, rust). No significant improvements: https://valkyrie.yocto.io/pub/non-release/20250702-59/testresults/buildperf-alma8/perf-alma8-vk_master_20250702090029_243d54fd46.html Hopefully Ross finds time to work on splitting up llvm/clang to reduce build time. As per https://valkyrie.yocto.io/pub/non-release/20251014-57/testresults/buildperf-alma8/perf-alma8-vk_master_20251014090029_4a1f38dd8d.html we've clawed back the hit of building clang. My next plan involves seeing if we can use libglvnd-native and host drivers instead of mesa-native. But closing as the urgency is done. |