https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109310

            Bug ID: 109310
           Summary: --enable-link-mutex is quite duplicate to
                    --enable-link-serialization
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org, rguenth at gcc dot gnu.org
  Target Milestone: ---

As mentioned in PR96794, --enable-link-mutex is problematic from LTO point of
view as each linker invocation holds a jobserver token, and thus LTRANS phase
runs with a limited number of jobs.

On the other hand, --enable-link-serialization works fine:
https://gist.githubusercontent.com/marxin/13895e6614c1d73301d05005ed4475b7/raw/bc5eb701024f3d0b912e4e3fb58b96e7abae327c/gcc13-serial-linking.svg

So my question is if we can drop --enable-link-mutex? Note the
--enable-link-serialization option is more generic as it accepts an option
argument (N).

I see only a minimal benefit of --enable-link-mutex and that's the fact it
periodically prints a message that it attempts to acquire a lock. That can be
useful for builder timeout when it comes to a very slow machine. But still, we
should be able to link a FE in a reasonable amount of time.

Jakub, what do you think?

Reply via email to