[zorg] r297359 - Do not use parallel link jobs with ThinLTO on Green Dragon
Mehdi Amini via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 13 10:04:18 PDT 2017
Hey David:
You’re right! It seemed obvious to me when I committed, but in retrospect it clearly isn’t :)
I’ll add it here for posterity:
The linker is using as many threads as cores on the machine when performing a ThinLTO link. We don’t want to overcommit the machine by having many link steps running in parallel: this won’t improve build time (quite the opposite likely) and will increase memory consumption. I hesitated between 1 and 2, we can fine-tune later.
—
Mehdi
> On Mar 13, 2017, at 9:32 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
> It'd be helpful to include the motivation in the commit message so that there's some context for others (now and in the future/when doing archaeology).
>
> On Wed, Mar 8, 2017 at 9:15 PM Mehdi Amini via llvm-commits <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>> wrote:
> Author: mehdi_amini
> Date: Wed Mar 8 23:03:53 2017
> New Revision: 297359
>
> URL: http://llvm.org/viewvc/llvm-project?rev=297359&view=rev <http://llvm.org/viewvc/llvm-project?rev=297359&view=rev>
> Log:
> Do not use parallel link jobs with ThinLTO on Green Dragon
>
> Modified:
> zorg/trunk/zorg/jenkins/build.py
>
> Modified: zorg/trunk/zorg/jenkins/build.py
> URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=297359&r1=297358&r2=297359&view=diff <http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/jenkins/build.py?rev=297359&r1=297358&r2=297359&view=diff>
> ==============================================================================
> --- zorg/trunk/zorg/jenkins/build.py (original)
> +++ zorg/trunk/zorg/jenkins/build.py Wed Mar 8 23:03:53 2017
> @@ -187,7 +187,10 @@ def cmake_builder(target):
> max_parallel_links = conf.max_parallel_links
>
> if conf.lto:
> - cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())]
> + if conf.thinlto:
> + cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=1"]
> + else:
> + cmake_cmd += ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())]
> cmake_cmd += ['-DLLVM_BUILD_EXAMPLES=Off']
> if not max_parallel_links:
> max_parallel_links = 1
> @@ -374,7 +377,9 @@ def clang_builder(target):
> cmake_command.extend(
> ['-DLLVM_LIT_ARGS={}'.format(' '.join(lit_flags))])
>
> - if conf.lto:
> + if conf.thinlto:
> + cmake_command.extend(["-DLLVM_PARALLEL_LINK_JOBS=1"])
> + elif conf.lto:
> cmake_command.extend(
> ["-DLLVM_PARALLEL_LINK_JOBS=" + str(max_link_jobs())])
> else:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170313/2bc3defa/attachment.html>
More information about the llvm-commits
mailing list