These are my patches that (1) enable distcc, (2) parallel make and (3)
fix package to be parallel-make-aware.

ciao

luigi

On Wed, Oct 28, 2009 at 9:56 PM, Michael Buesch <m...@bu3sch.de> wrote:
> On Wednesday 28 October 2009 21:29:10 Felix Fietkau wrote:
>> 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.
>
> Yeah. I'm fine with an option that defaults to off and has a big warning 
> message.
> However, I don't know the buildsystem good enough to add such an option and
> proper parallelization...
>
> --
> Greetings, Michael.
>



-- 
Luigi 'Comio' Mantellini
R&D - Software
Industrie Dial Face S.p.A.
Via Canzo, 4
20068 Peschiera Borromeo (MI), Italy

Tel.: +39 02 5167 2813
Fax: +39 02 5167 2459
web: www.idf-hit.com
mail: luigi.mantell...@idf-hit.com

Attachment: 0001-Enable-the-following-packages-to-parallel-make.patch
Description: Binary data

Attachment: 0002-Add-support-for-parallel-make-and-distcc.patch
Description: Binary data

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

Reply via email to