From: Ulf Samuelsson <ulf@emagii.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] local.conf.sample: Add automatic defaults for BB_NUMBER_THREADS and PARALLEL_MAKE
Date: Wed, 29 Jan 2014 14:32:20 +0100 [thread overview]
Message-ID: <52E902E4.1040607@emagii.com> (raw)
In-Reply-To: <1391000162.24655.67.camel@ted>
2014-01-29 13:56, Richard Purdie skrev:
> On Wed, 2014-01-29 at 13:09 +0100, Ulf Samuelsson wrote:
>> We discussed this 2.3 months ago.
>> Did some studies on my dual hex-core machine (24 H/W treads) while
>> building a cloud9-gnome-image derivative.
>> This did about 7500 tasks.
>>
>> Enabled the CPU supervisors in the panel.
>>
>> Everything seems to be ok with BB_NUMBER_THREADS = "24" for about 4-4500
>> tasks.
>>
>> Then the CPUs are mostly inactive and only 1-2 running for ~500 tasks.
>> Then parallellism is resumed until about task 7000, and again
>> only a few CPUs are active.
> This is likely whilst the lib and toolchain is getting built.
>
>> I believe that some tools use "make" within the Makefile,
>> and they are written badly, and do not use "-j <n>" for
>> that part of the build.
> Which recipes were building at this point? It would be interesting to
> track them down.
I think eglibc, node[-js] (native) and a few others
Think I remember mentioning them when it was discussed.
webkit, node are also not running in parallell in later part of the build
>
>> Got my build down to 83 minutes.
>>
>> Since I have 96 GB of RAM, I tried creating an 80 GB tmpfs for the build,
>> and copied the download and the recipes to the ram.
>>
>> That shaved only 2 monutes from the build, and some stuff,
>> still built using only a single CPU.
> There are certainly dependency bottlenecks in the build such as the
> toolchain, compiler, gettext, gtk+ and so where large numbers of things
> need those dependencies to get built before they can proceed. Not sure
> what we can do to help this though.
In order to find out more, perhaps it should be possible to log info
about the build.
1. How many makes are in progress when you start a task
2. How long does it take to build a recipe.
3. CPU activity (frequency scaling) when the recipe is build.
A recipe which takes very long time to build but with low CPU activity
should be analyzed to find out if more parallellism can be introduced.
BR
Ulf
>
> Cheers,
>
> Richard
>
--
Best Regards
Ulf Samuelsson
ulf@emagii.com
+46 722 427437
next prev parent reply other threads:[~2014-01-29 13:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-27 14:39 [PATCH] local.conf.sample: Add automatic defaults for BB_NUMBER_THREADS and PARALLEL_MAKE Richard Purdie
2014-01-27 16:45 ` Otavio Salvador
2014-01-27 17:23 ` Stewart, David C
2014-01-27 17:25 ` Burton, Ross
2014-01-28 10:08 ` Koen Kooi
2014-01-28 10:41 ` Richard Purdie
2014-01-29 12:09 ` Ulf Samuelsson
2014-01-29 12:56 ` Richard Purdie
2014-01-29 13:32 ` Ulf Samuelsson [this message]
2014-01-29 14:44 ` Ross Burton
2014-02-01 9:21 ` Mike Looijmans
2014-02-03 21:23 ` Ulf Samuelsson
2014-02-03 23:34 ` Richard Purdie
2014-02-04 16:13 ` Enrico Scholz
2014-02-04 16:59 ` Mark Hatle
2014-02-04 18:00 ` Enrico Scholz
2014-01-29 10:14 ` Steffen Sledz
2014-01-29 10:22 ` Paul Eggleton
2014-01-29 11:42 ` Steffen Sledz
2014-01-29 10:59 ` Richard Purdie
2014-01-29 11:47 ` Steffen Sledz
2014-01-29 11:52 ` Paul Eggleton
2014-01-29 12:46 ` Steffen Sledz
2014-01-29 16:39 ` Laszlo Papp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52E902E4.1040607@emagii.com \
--to=ulf@emagii.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=richard.purdie@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox