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