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 Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make