[OpenPower-Firmware] [RFC] Rework op-build to sdk efficiency

Klaus Heinrich Kiwi klaus at linux.vnet.ibm.com
Thu May 14 08:07:47 AEST 2020


Presently, op-build builds buildroot's default cross-compiling toolchain, that can be made into an SDK and re-used. We use this as part of the ci build scripts (ci/build*.sh), but that mechanism can also be used ad-hoc.

I recently pushed some patches to try to slim it down for efficiency (PRs #3586), and now I'm trying to add the p8-PORE (for POWER8) and PPE42-{gcc/PORE-binutils} (for POWER9) as part of the sdk package, so they can also be re-used (they rarely change).

This is accomplished by creating a pair of "toolchain" virtual-packages, and creating builtin providers (the packages above themselves) and "external" providers (as part of the sdk) and wiring it all together.

Initial testing looks promising. I haven't timed the before/after build times yet, but I could already verify that it's sensibly faster when caching the SDK and re-building the tree. And hopefully it's also safer to use in CI (versus for example partially building a tree in a workspace and re-using that instead).

But it's a significant change, so I'd appreciate more eyes reviewing and testing it, here or on the PR itself (currently in draft mode):
https://github.com/open-power/op-build/pull/3625

A potential next step might be in identifying other similar "toolchain-like" packages that rarely change, and could benefit from the same treatment (finding the right balance between building them on the SDK versus as part of the build tree).

Thanks,

  -Klaus
-- 
Klaus Heinrich Kiwi <klaus at linux.vnet.ibm.com>


More information about the OpenPower-Firmware mailing list