Open nickdesaulniers opened 1 year ago
No, that's not expected. You should see one process with multiple threads. Unless something changed and we now have to explicitly specify the number of ThinLTO jobs?
Maybe related: I've never seen ThinLTO use all of the available CPUs when building the kernel (lld-15 and lld-16). At best, it uses exactly half; in my case, 12 out of 24 on a Zen2.
Is there some sort of a "limit" on how many threads LTO can use?
I checked it again, Linux 6.3.3 + Clang16:
Linking vmlinux.o starts off with using half of the available CPUs, then quickly goes down to just using a single thread.
You could try passing --thinlto-jobs=N
to lld and see if that makes any difference?
https://clang.llvm.org/docs/ThinLTO.html#controlling-backend-parallelism
Doing an x86 defconfig build with
CONFIG_LTO_CLANG_THIN=y
enabled, I'm seeing only 1 thread being used by LLD duringLD vmlinux.o
. Is that expected/a regression?cc @samitolvanen @MaskRay