Odd failures during parallel PPC builds

Jukka Ukkonen jau789 at gmail.com
Wed Jun 4 08:10:55 UTC 2014


On 2014-06-03 5:10, Alexey Dokuchaev wrote:
> On Sat, May 31, 2014 at 11:28:36AM +0300, Jukka Ukkonen wrote:
>> Now it seems I have found something going wrong with
>> parallel make on ppc such that the same symptoms cannot
>> be reproduced on an amd64 platform.
>>
>> [...]
>>
>> Is there anyone else trying to run local builds on
>> 32-bit ppc? If so, have you noticed any problems with
>> parallel make? Is there any other way to work around
>> this problem but avoiding the parallel builds completely?
> I normally do not build in parallel since it makes no sense on my single
> CPU Mac mini G4, but I can loop buildworld with some -jX value to see if
> I can catch anything.
>
> ./danfe

It seems that almost every process waits for disk on occasion
just to read in the compiled file and header files at least.
So, having a few compiler processes active at the same time
usually makes sense because another compilation can proceed
while one ends up waiting for the disk. When the compiled files
are small and the compilation does not require a lot of memory
as is often the case with C library functions etc. the number of
parallel jobs can obviously be a bit larger. I have typically used
some 4-6 jobs per CPU on PowerPC when the memory load per
compilation unit is relatively low. When compiling large C++
files the number of jobs has to be kept low to avoid pointless
paging on a system with limited physical memory.
Anyhow building serially 1 job at a time or using always one
job per CPU are not necessarily the optimal choices. The optimum
depends on the amount of memory, the speed of the memory,
and the speed of the disk(s).
My personal approach has been trying to keep the CPUs as
busy as possible while avoiding paging and having /usr/src
and /usr/obj on separate disks such that each disk sits on
its own storage bus. The time difference in building the full
OS can be hours in some cases.

--jau



More information about the freebsd-ppc mailing list