[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #44555] "make" fails to use parallelism

From: anonymous
Subject: [bug #44555] "make" fails to use parallelism
Date: Mon, 16 Mar 2015 19:33:03 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Iceweasel/36.0


                 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



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:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]