Bug 121920 - PARALLELMFLAGS could be centralised
Summary: PARALLELMFLAGS could be centralised
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-04-29 03:05 UTC by John Rimell
Modified: 2007-11-30 22:10 UTC (History)
0 users

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-08-26 06:06:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description John Rimell 2004-04-29 03:05:25 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b)
Gecko/20040421

Description of problem:
I'm compiling glibc-2.3.3 on a dual CPU box. 

_Some_ of the make commands run don't get the -j2 command because that
has to passed through the PARALLELMFLAGS option. This appears in loads
of places in the SPEC file. All the top level make commands called
directly from the SPEC are ok but I assume that this arguement exists
because the value cannot be passed down to child make commands

Could the -j<#cpus> be added to the PARALLELMFLAGS command.

Also it would be much easier to alter and enable -j<#cpus> on the
PARALLELMFLAGS flag if it was set once at the top of the spec. It
would make it easier to turn off the silent (-s) command when debugging.


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.compile on dual cpu box and look at the make commands run
2.
3.
    

Expected Results:  define the value for PARALLELMFLAGS at the top of
the SPEC file to include the -j<num cpus>

Additional info:

Comment 1 Jakub Jelinek 2004-04-29 06:26:14 UTC
Can you tell me where do you think build is not parallelized where it
actually matters?  The only things which are not parallelized is
make install (passes -j1 on purpose) and building linuxthreads/man
(where it really doesn't matter).

Comment 2 John Rimell 2004-05-09 21:20:08 UTC
The testing phase.

During the testing part, I'm seeing longish periods of 1 cpu idling
while the other is 100% busy. Curiously there are also periods of time
when both are used. eg with more careful watching, I've seen both
cpu's used when it is testing all the character sets in iconvdata. The
first time I watched it, it always seemed to only use 1 cpu, but I
think it depends on which part of the testing is being running.


I get the following log output... The -j2 is passed to the outer make
command, but I guess that because it is not included in
PARALLELMFLAGS, it does not get included a lower levels.

+ make -j2 -k check PARALLELMFLAGS=-s
+ tee check.log
make -r PARALLELMFLAGS="-s" CVSOPTS="" -C .. objdir=`pwd` check
make[1]: Entering directory
`/usr/src/redhat/BUILD/glibc-2.3.3-200405070341'
make -s -C csu tests
make[2]: Entering directory
`/usr/src/redhat/BUILD/glibc-2.3.3-200405070341/csu'
make[2]: Leaving directory
`/usr/src/redhat/BUILD/glibc-2.3.3-200405070341/csu'
make -s -C iconv tests

I'm going to try and do some timings of the testing session on its own
and see if adding -j2 to PARALLELMFLAGS makes any difference. This is
definately a low priority issue though :)

Comment 3 Jakub Jelinek 2004-05-25 15:24:03 UTC
The testing phase is parallelized just fine in my eyes
(well, in rawhide glibc it was on purpose .NOTPARALLELized
in nptl make check, as several tests create really many threads
and are timing critical).

Comment 4 Ulrich Drepper 2004-08-26 06:06:26 UTC
There is no bug.  THe -j parameter of make works fine, for building
and testing.  I use it all the time.


Note You need to log in before you can comment on or make changes to this bug.