Michael Buesch wrote:
> On Wednesday 28 October 2009 03:04:41 Felix Fietkau wrote:
>> > That would be a huge advantage and speedup the openwrt buildprocess by
>> > about 35-40 percent points on my quad machine. The advantage gets higher 
>> > the more cores we have.
>> > And I think quads are not that uncommon anymore today.
>> Why do you think the difference is that big between building multiple
>> packages at the same time and building individual packages in parallel?
> 
> Because the cpu utilization is horribly low during an openwrt build.
> It ranges from 25% for the toolchain to 99% for the kernel.
> For compiling "normal" packages there's usually an overall utilization of 
> 60-75%. I'm pretty sure
> if we'd allow two processors (or more) on one package at the same time, it 
> would go up to nearly 99%
> on my machine. Especially for bigger packages like busybox, ssh, etc...
> I'd also like to have an optional (default off) parallel build of the 
> toolchain. I don't mind
> poking it two or three times. That'd still be faster than compiling the whole 
> toolchain at 25%.
I did a test with all packages of trunk selected (/packages not
included), and 3 packages broke with very weird build failures.
This was with a small change to include/package.mk that sets
MAKE := $(MAKE) -j 8
and some other patches to replace $(MAKE) all install calls with
multiple calls.
The three packages that broke were apex, iproute2, openssl. Also when
I've done similar tests in the past, some other packages also broke,
though only under rare, hard to trigger circumstances.
If somebody makes a patch that enables package build parallelization, I
definitely don't want to have this enabled by default whenever somebody
does make -j in the OpenWrt build system.
I think most people that use make -j would prefer to have something that
may be a little slower, but doesn't cause unexpected build failures
depending on the parallelization level.

- Felix
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to