NetBSD-Bugs archive

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

bin/48367: make(1) fails to parallelize in subdirs



>Number:         48367
>Category:       bin
>Synopsis:       make(1) fails to parallelize in subdirs
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 06 02:10:00 +0000 2013
>Originator:     David A. Holland
>Release:        NetBSD 6.99.23 (20130911)
>Organization:
>Environment:
System: NetBSD macaran 6.99.23 NetBSD 6.99.23 (MACARAN) #19: Wed Sep 11 
20:37:54 EDT 2013 dholland@macaran:/usr/src/sys/arch/amd64/compile/MACARAN amd64
Architecture: x86_64
Machine: amd64

/usr/bin/make:
     $NetBSD: crt0.S,v 1.3 2011/07/01 02:59:05 joerg Exp $
     $NetBSD: crt0-common.c,v 1.13 2013/01/31 22:24:25 matt Exp $
     $NetBSD: crti.S,v 1.1 2010/08/07 18:01:35 joerg Exp $
     $NetBSD: crtbegin.S,v 1.2 2010/11/30 18:37:59 joerg Exp $
     $NetBSD: arch.c,v 1.63 2012/06/12 19:21:50 joerg Exp $
     $NetBSD: buf.c,v 1.25 2012/04/24 20:26:58 sjg Exp $
     $NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $
     $NetBSD: cond.c,v 1.67 2012/11/03 13:59:27 christos Exp $
     $NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $
     $NetBSD: for.c,v 1.49 2012/06/03 04:29:40 sjg Exp $
     $NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $
     $NetBSD: job.c,v 1.176 2013/08/04 16:48:15 sjg Exp $
     $NetBSD: main.c,v 1.224 2013/09/04 15:38:26 sjg Exp $
     $NetBSD: make.c,v 1.88 2012/11/09 18:53:05 sjg Exp $
     $NetBSD: parse.c,v 1.191 2013/08/28 21:56:49 sjg Exp $
     $NetBSD: str.c,v 1.34 2012/03/03 23:16:47 dholland Exp $
     $NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $
     $NetBSD: targ.c,v 1.57 2012/06/12 19:21:51 joerg Exp $
     $NetBSD: trace.c,v 1.11 2008/12/28 18:31:51 christos Exp $
     $NetBSD: var.c,v 1.184 2013/09/04 15:38:26 sjg Exp $
     $NetBSD: util.c,v 1.53 2012/06/04 22:45:05 sjg Exp $
     $NetBSD: strlist.c,v 1.4 2009/01/24 11:59:39 dsl Exp $
     $NetBSD: make_malloc.c,v 1.10 2012/06/20 17:46:28 sjg Exp $
     $NetBSD: lstAppend.c,v 1.14 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstAtEnd.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstAtFront.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstClose.c,v 1.11 2006/10/27 21:37:25 dsl Exp $
     $NetBSD: lstConcat.c,v 1.16 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstDatum.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstDeQueue.c,v 1.14 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstDestroy.c,v 1.16 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstDupl.c,v 1.16 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstEnQueue.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstFind.c,v 1.15 2009/01/23 21:58:28 dsl Exp $
     $NetBSD: lstFindFrom.c,v 1.15 2009/01/23 21:58:28 dsl Exp $
     $NetBSD: lstFirst.c,v 1.12 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstForEach.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstForEachFrom.c,v 1.17 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstInit.c,v 1.12 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstInsert.c,v 1.14 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstIsAtEnd.c,v 1.13 2008/02/15 21:29:50 christos Exp $
     $NetBSD: lstIsEmpty.c,v 1.11 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstLast.c,v 1.12 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstNext.c,v 1.12 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstOpen.c,v 1.12 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstRemove.c,v 1.14 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstReplace.c,v 1.13 2009/01/23 21:26:30 dsl Exp $
     $NetBSD: lstSucc.c,v 1.13 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: lstPrev.c,v 1.3 2008/12/13 15:19:29 dsl Exp $
     $NetBSD: crtend.S,v 1.1 2010/08/07 18:01:34 joerg Exp $
     $NetBSD: crtn.S,v 1.1 2010/08/07 18:01:35 joerg Exp $

>Description:

Make sub-jobs no longer parallelize in some cases. It isn't clear yet
exactly which cases or why. This is definitely a regression, in case
anyone was wondering.

I discovered this in a make from 20130911; the problem persists in
today's make (20131105).

A pkgsrc make binary from August 2012 that I had lying around is not
affected.

>How-To-Repeat:

Unpack the following, then do

        cd muck
        make -j8 all            (does not parallelize)
        make -j8 all2           (does parallelize)

Whether it's parallelizing or not is readily distinguished because of
the per-job target name headings in the output -- there should be one
for each of the ten echo jobs in the subdirectory.

begin 600 muck.tgz
M'XL(`+N&>5(``^W504^#,!0'<*[V4[P#6>"RO992=)X\>#+[$`@ED!5(-HE?
MWT*FAQDU2P::^/]=7FD)E/QY:3L4^V!FS)HS9E\S8U+EZ^2]3F.I5&(23I3.
M_+R4FM,@G7MCH^'XDA^(@K+NG<N[\JO[7FMKW1(;6E;K\]^T^:P_P27Y2Z7'
M_)4?(/\%?.2_V>5[6S7.7O\=+)G--_E+:<[SUZQ,P-??RF?_//_C\+R]%V)=
M]0=JJ.E(DJ*$-*5D**-;NB/)8KR+JKX/HR86I[H5-[:H>PH;L;9=Z1\@Q&]_
M#5QJZO_Y6G_R4__[Q?/S/Y$R0_\O0.3.^4Z.BI+&4X!6*PJCW</38QR+<4WY
@Q=,$^4MT.`````````````````#`'_4&=W+D30`H``!6
`
end

>Fix:

no idea yet.



Home | Main Index | Thread Index | Old Index