URL:
<http://savannah.gnu.org/bugs/?44555>
Summary: "make" fails to use parallelism
Project: make
Submitted by: None
Submitted on: Mon 16 Mar 2015 07:33:02 PM UTC
Severity: 3 - Normal
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: SCM
Operating System: POSIX-Based
Fixed Release: None
Triage Status: None
_______________________________________________________
Details:
I maintain the build system for a commercial software product. Developers
build the system on Debian 7
We recently upgraded from 3.81 to 4.1. Unfortunately, this version of make
frequently fails to use the requested level of parallelism, falling back to
one job at a time.
Unfortunately, I haven't been able to distill this down to a test case that
runs independent of our development environment, so I have no testcase to
submit. But what I know is:
* the project has about 6000 object files
* developer desktops are 6 cores / 12 threads
* we request -j15 -l26 parallelism
* thanks to make parallelism + ccache, a full build is <2minutes
** but is >10 minutes when this bug bites
* we consistently reproduce the problem by:
git checkout branch1; make clean; make
git checkout branch2; make
* it's important not to clean before the second build
* some headers have been removed in branch2 compared to branch1; we have a
rule 'include/%.h:; echo $@: missing or removed' so that the build proceeds in
this case (we do not use gcc -MP because we found that parsing all those
additional lines had a measurable impact on the time of a do-nothing make)
* we use gcc-generated dependency information
* we autogenerate some header files by having the main Makefile depend on
those header files
* The problem does not occur if this one commit is reverted:
94735f0 Remove use of vfork().
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?44555>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make