[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