From: "Eric Bénard" <eric@eukrea.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: Fetch time optimization (svn : gcc/eglibc - git : linux-yocto)
Date: Fri, 30 Mar 2012 10:50:06 +0200 [thread overview]
Message-ID: <20120330105006.00955b5d@eb-e6520> (raw)
In-Reply-To: <1333058593.18082.40.camel@ted>
Le Thu, 29 Mar 2012 23:03:13 +0100,
Richard Purdie <richard.purdie@linuxfoundation.org> a écrit :
> On Thu, 2012-03-29 at 22:53 +0200, Eric Bénard wrote:
> > I noticed in from scratch builds for qemuarm that the longest time is
> > taken in fetching sources, especially those fetched using git
> > (linux-yocto for example) & svn (gcc, eglibc & co).
>
> Are you timing these as fetches from the source control systems or from
> the mirror tarballs of the repositories. The tarballs should be
> faster...
>
the default configuration seems to fetch from source control systems
as I always see very long time to fetch gcc/eglibc/linux-yocto
(despite having a 2.2 MBytes/s downlink DSL line).
> > To reduce the fetch time would that make sense to
> > - fetch gcc/glibc & co from the archive of a stable version and then
> > apply patches on top of it (maybe patches stored in an archive
> > fetched from oe's website and applied in bulk or patches stored in OE)
>
> Unfortunately the patches tend to get unwieldy. The tarballs of the svn
> repos on the mirror should be about equal in size to the upstream
> archive in this case.
>
I don't think that's a size problem but that fetching through svn or
git is far less efficient than http or ftp especially from gnu's svn
which may be overloaded.
Morover in a pure OE context we have no interest of all the source
history provided by svn or git and that makes a very big volume to
download.
> > - do the same thing for the linux-yocto kernel or add a --reference
> > option to the git fetcher so that we can provide a local tree as a
> > reference ?
>
> This is effectively how the repositories in DL_DIR are used. If you
> place a tree in the right place there, it should reuse references...
>
> > Do you have other ideas (appart from using a local mirror) to optimize
> > the fetch time ?
>
> I'd be interested firstly to understand if you're using the SCM directly
> or using the mirror tarballs as that should make a big difference. In
> the standard configuration it should be using mirror tarballs...
>
that doesn't seems to be the case :
from a clean oe-core + bitbake clone :
. ./openembedded-core/oe-init-build-env
edit local.conf to select qemuarm & BBTHREAD to 8
bitbake core-image-minimal -c fetchall
and then I see bitbake stops at around 209 or 214 tasks waiting and
I see that in ps :
/home/ebenard/OE-CORE/build/tmp-eglibc/sysroots/x86_64-linux/usr/bin/git.real
clone --bare --mirror
git://git.yoctoproject.org/linux-yocto-3.2 /home/ebenard/OE-CORE/build/downloads/git2/git.yoctoproject.org.linux-yocto-3.2
and
svn co -r 184847
http://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@184847
... and both are actually fetching at only around 200 KiB/s which last
for quite a long time as (from an other downloads dir) the final
tree size are huge :
du -s git.yoctoproject.org.linux-yocto-3.2/
610824 git.yoctoproject.org.linux-yocto-3.2/
du -s gcc.gnu.org/
1602496 gcc.gnu.org/
du -s www.eglibc.org/
625048 www.eglibc.org
If I launch at the same time :
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.3/gcc-4.6.3.tar.bz2
I get a download speed close to 1MB/s and the file to download is only
64MB which would save bandwidth.
Eric
next prev parent reply other threads:[~2012-03-30 8:59 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-29 20:53 Fetch time optimization (svn : gcc/eglibc - git : linux-yocto) Eric Bénard
2012-03-29 22:03 ` Richard Purdie
2012-03-30 1:03 ` Bruce Ashfield
2012-03-30 6:44 ` Samuel Stirtzel
2012-03-30 9:21 ` Paul Eggleton
2012-03-30 9:32 ` Richard Purdie
2012-03-30 10:07 ` Samuel Stirtzel
2012-03-30 10:45 ` Richard Purdie
2012-04-02 8:15 ` Samuel Stirtzel
2012-03-30 7:00 ` Martin Jansa
2012-03-30 10:06 ` Richard Purdie
2012-03-30 8:50 ` Eric Bénard [this message]
2012-03-30 15:12 ` Richard Purdie
2012-03-30 15:24 ` Eric Bénard
2012-03-30 15:49 ` Bruce Ashfield
2012-03-30 15:55 ` Eric Bénard
2012-03-30 16:02 ` Richard Purdie
2012-03-30 16:17 ` Eric Bénard
2012-03-30 17:33 ` Bruce Ashfield
2012-03-30 18:36 ` Eric Bénard
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=20120330105006.00955b5d@eb-e6520 \
--to=eric@eukrea.com \
--cc=openembedded-core@lists.openembedded.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 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.