Bug 121920

Summary: PARALLELMFLAGS could be centralised
Product: [Fedora] Fedora Reporter: John Rimell <john>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED WORKSFORME QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideKeywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-08-26 06:06:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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.