Multi-Threaded make

JD jd1008 at gmail.com
Thu Nov 29 23:39:43 UTC 2012


On 11/29/2012 03:48 PM, David G. Miller wrote:
> Gabriel VLASIU <gabriel <at> vlasiu.net> writes:
>
>>
>> On Thu, 29 Nov 2012, JD wrote:
>>
>>> That does not make sense.
>>> I have a unicore!! An old Athlon64 3700+,
>> In this case %{?_smp_mflags} is expanded to "-j1" or "" and you will have
>> exactly only one "cc1".
>>
> <SNIP>
>>> and yet ps -ef shows up to 4 makes running at a time.
>> Read the previous mail again.
>>
>> Gabriel
>>
> Make is much more constrained by disk I/O than by CPU load.  Setting -j to be
> equal to the number of cores/CPUs is just playing it safe.  This is especially
> true when building a rpm which involves not just compiles and link but also
> packaging, dependency resolution and documentation tasks which are even more
> disk I/O intensive than compiles.  Chances are that several of these operations
> that not dependent on successfully compiling the code are fired off in parallel
> rather than doing them sequentially and that old workhorse make gets the task of
> managing each of these tasks.  Thus, you end up with multiple copies of make
> running at the same time even on a single core/CPU system to perform these tasks.
>
> Now just to totally blow your mind...  while working with the 2.5.X development
> kernels prior to the release of 2.6.0 I was doing at least one kernel build for
> each new point release (sometimes more if there were build issues to resolve).
> At that time my primary desktop was a dual CPU (back in the day before multiple
> cores) Athlon rig.  Since I had all sorts of time and plenty of trials to
> experiment with I played around with the setting of -j for kernel builds.  My
> best results were with -j 12.
>
> Cheers,
> Dave
>
>
>
For the last time:
rpmbuild has no -j anything  option!!!



More information about the users mailing list