From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Qing He <qing.he@intel.com>
Cc: poky@yoctoproject.org
Subject: Re: [RFC 0/4] socketed based data connection
Date: Tue, 21 Dec 2010 17:38:50 +0000 [thread overview]
Message-ID: <1292953130.25087.6326.camel@rex> (raw)
In-Reply-To: <cover.1292950144.git.qing.he@intel.com>
On Wed, 2010-12-22 at 00:49 +0800, Qing He wrote:
> This patch set enables remote data access in the exec'd task process.
>
> Some test data:
> I've conducted a poky-image-minimal build on two different machines
> with and without the patch, the result are as follow:
>
> 2 core weybridge: worker count=4, make -j4
> without patch
> real: 161min
> user: 237min
> sys: 56min
> with patch
> real: 138min
> user: 196min
> sys: 45min
> 4 core nehalem: worker count=4, make -j4
> without patch
> real: 88min
> user: 218min
> sys: 37min
> with patch
> real: 83min
> user: 160min
> sys: 29min
For comparison what numbers does master give? I'm assuming these numbers
were with master using exec() so I'd be interested in the comparisons
with fork().
> the user+sys has an improvement of around 20%~30%, however the
> real runtime improvement is less significant. It's probably
> because of the thread workload unbalance on multicore, or in another
> word, some CPUs are not fully loaded during the build. e.g. when
> do_rootfs_rpm is run, there is probably no other tasks running.
>
> Haven't done any test against single thread running, but it should
> have a much more considerable impact.
>
>
> Known problems:
> 1. fetcher is not working at the moment, maybe bitbake needs an explicit
> InheritFromOS(), but that produces some inconsistency in PATH in my previous
> run
> 2. do_rootfs_rpm has some problem in the first run
>
>
> Next step and possible future usage:
> 1. organize remote data to a separate class
> 2. although we have reverted to fork for task running, a remote data mechanism
> would work for a more separate build (e.g. distributed build)
It could also be useful for UI interaction with the datastore.
> 3. the added code in bitbake-runtask is to run necessary initializations for a
> working environment, this is part of cooker. The current cooker seems too heavy
> and may be broken down into several pieces according to functionalitiies
I certainly agree cooker could use some serious refactoring in some
form.
Cheers,
Richard
prev parent reply other threads:[~2010-12-21 17:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-21 16:49 [RFC 0/4] socketed based data connection Qing He
2010-12-21 16:19 ` [PATCH 1/4] python method fix Qing He
2010-12-21 16:24 ` [PATCH 2/4] sstate.bbclass: workaround Qing He
2010-12-21 16:30 ` [PATCH 3/4] data_smart: remote data Qing He
2010-12-21 16:38 ` [PATCH 4/4] socket based worker data Qing He
2010-12-21 17:25 ` [RFC 0/4] socketed based data connection Qing He
2010-12-22 5:52 ` Tian, Kevin
2010-12-21 17:38 ` Richard Purdie [this message]
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=1292953130.25087.6326.camel@rex \
--to=richard.purdie@linuxfoundation.org \
--cc=poky@yoctoproject.org \
--cc=qing.he@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.