Openembedded Core Discussions
 help / color / mirror / Atom feed
From: adrian.freihofer@gmail.com
To: alex.kanavin@gmail.com
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>,
	 openembedded-architecture
	<openembedded-architecture@lists.openembedded.org>,
	Michael Halstead <mhalstead@linuxfoundation.org>,
	 Yocto-mailing-list <yocto@lists.yoctoproject.org>,
	",openembedded-core@lists.openembedded.org"
	<openembedded-core@lists.openembedded.org>,
	Julien STEPHAN <jstephan@baylibre.com>,
	Peter Marko <Peter.Marko@siemens.com>
Subject: Re: [Openembedded-architecture] [OE-core] Core workflow: sstate for all, bblock/bbunlock, tools for why is sstate not being reused?
Date: Wed, 01 Nov 2023 18:20:30 +0100	[thread overview]
Message-ID: <2533733992a9f836d224b063e2b4b0ea3700ddb2.camel@gmail.com> (raw)
In-Reply-To: <CANNYZj_Cq+cncw5SCGii=Mhj0KGgo=qr=hCuo+wpdvtR9C=Qyg@mail.gmail.com>

On Wed, 2023-11-01 at 16:19 +0100, Alexander Kanavin via
lists.openembedded.org wrote:
> On Wed, 1 Nov 2023 at 15:18, <adrian.freihofer@gmail.com> wrote:
> > We are currently experimenting with replacing the eSDK installer
> > with
> > the bitbake build environment for our users. Part of this
> > transformation is, of course, the shared sstate-cache, for which
> > this
> > discussion seems quite relevant. The workflow we are aiming for is
> > as
> > follows:
> > 
> >    1. Setup the layers and build config (out of scope here)
> >    2. Download the sstate for a particular recipe (usually an image
> >       recipe).
> 
> I'm not sure I understand the case for downloading the complete set
> of
> cache objects up front. What's wrong with 'lazy' downloading, e.g.
> only when the objects are actually needed in a build?
> 
> Even then, does --setscene-only do just that, or am I completely
> confused?

If I remember correctly, when configuring a SSTATE_MIRROR, the server
is queried when a Setcene task is executed. This is not ideal for
several reasons:
 * Bitbake Setcene tasks run in the context of a recipe, which means
   that thousands of connections are opened against the mirror server.
   Many servers treat this behavior as a denial of service attack. With
   a separate download tool, this can be handled with a reasonable
   number of parallel connections. With bitbake's architecture, this is
   a barely solvable issue.
 * Especially with an SDK, setcene tasks can run much more frequently
   than do_fetch tasks. So the same artifact is downloaded multiple
   times, which is not efficient.
 * SDK users may be located in different places in the world. This
   results in poor performance depending on the location.
 * With a separate download, you can download on a fast network and
   then switch to a slower network or even work offline.
 * Of course, supporting downloading in advance does not mean that a
   SSTATE_MIRROR should not be supported.

Adrian

> 
> Alex
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#1821):
> https://lists.openembedded.org/g/openembedded-architecture/message/1821
> Mute This Topic: https://lists.openembedded.org/mt/102320110/3616858
> Group Owner: openembedded-architecture+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/openembedded-architecture/unsub [
> adrian.freihofer@siemens.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



  reply	other threads:[~2023-11-01 17:20 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-12 14:44 Yocto Project Status 12 September 2023 (WW37) Stephen K Jolley
2023-09-14 11:52 ` Core workflow: sstate for all, bblock/bbunlock, tools for why is sstate not being reused? Alexander Kanavin
2023-09-14 12:56   ` Richard Purdie
2023-09-14 18:51     ` Alexander Kanavin
2023-09-14 19:54       ` Richard Purdie
2023-09-15  8:28         ` Alexander Kanavin
2023-09-20 14:25           ` Julien Stephan
2023-09-20 14:31             ` Alexander Kanavin
2023-09-20 18:04               ` Julien Stephan
2023-09-21 11:11         ` Alexander Kanavin
2023-09-21 14:39           ` [Openembedded-architecture] " chris.laplante
2023-09-22  9:17             ` Alexander Kanavin
2023-09-22 10:42               ` Richard Purdie
2023-09-28 16:43                 ` Alexander Kanavin
2023-09-28 16:49                   ` Richard Purdie
2023-09-28 17:07                     ` Alexander Kanavin
2023-09-29 12:06                     ` Alexander Kanavin
2023-09-29 12:27                       ` Richard Purdie
2023-09-29 13:09                         ` Alexander Kanavin
2023-11-01 14:18       ` [OE-core] " adrian.freihofer
2023-11-01 15:19         ` Alexander Kanavin
2023-11-01 17:20           ` adrian.freihofer [this message]
2023-11-04 10:29           ` adrian.freihofer
2023-11-04 11:09             ` Richard Purdie
2023-11-05 19:43               ` adrian.freihofer
2023-11-06 11:48                 ` Alexander Kanavin
2023-11-06 19:42                 ` [Openembedded-architecture] " Mark Hatle
2023-10-30 13:50     ` Alexander Kanavin
2023-10-30 14:07       ` Richard Purdie
2023-10-30 15:02         ` Alexander Kanavin
     [not found]         ` <1792EACC19CD8046.7262@lists.openembedded.org>
2023-10-31 12:08           ` [OE-core] " Alexander Kanavin
2023-10-31 12:28             ` Richard Purdie
2023-10-31 13:53               ` Alexander Kanavin
2023-11-01 15:45         ` [yocto] " adrian.freihofer
2023-11-01 17:28           ` Alexander Kanavin
2023-11-02  8:32             ` adrian.freihofer
2023-11-02  9:02               ` Alexander Kanavin
     [not found]               ` <1793C2E61248AF31.11290@lists.yoctoproject.org>
2023-11-02 11:51                 ` Alexander Kanavin
2024-01-22 10:47   ` Alexander Kanavin
     [not found]   ` <17ACA59E7A7FD97B.16230@lists.openembedded.org>
2024-02-05 20:35     ` [OE-core] " Alexander Kanavin
2024-02-05 21:11       ` Richard Purdie
2024-02-08 13:35         ` Alexander Kanavin
2024-02-08 13:42           ` Richard Purdie
2024-02-13 13:25             ` Alexander Kanavin
2024-02-13 13:44               ` Richard Purdie
2024-02-13 14:05                 ` Alexander Kanavin
2024-02-13 14:28                   ` Joshua Watt
2024-02-14  6:31                     ` Alexander Kanavin

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=2533733992a9f836d224b063e2b4b0ea3700ddb2.camel@gmail.com \
    --to=adrian.freihofer@gmail.com \
    --cc=Peter.Marko@siemens.com \
    --cc=alex.kanavin@gmail.com \
    --cc=jstephan@baylibre.com \
    --cc=mhalstead@linuxfoundation.org \
    --cc=openembedded-architecture@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=yocto@lists.yoctoproject.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