Red Hat Bugzilla – Bug 121920
PARALLELMFLAGS could be centralised
Last modified: 2007-11-30 17:10:41 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b)
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):
Steps to Reproduce:
1.compile on dual cpu box and look at the make commands run
Expected Results: define the value for PARALLELMFLAGS at the top of
the SPEC file to include the -j<num cpus>
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).
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: Entering directory
make -s -C csu tests
make: Entering directory
make: Leaving directory
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 :)
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).
There is no bug. THe -j parameter of make works fine, for building
and testing. I use it all the time.