public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: Uladzimir Bely <ubely@ilbers.de>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH 0/2] Support for ccache
Date: Wed, 15 Sep 2021 18:43:18 +0200	[thread overview]
Message-ID: <20210915184318.7c32c158@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <20210913151009.28655-1-ubely@ilbers.de>

This looks like a very good addition to the sstate feature that has
been brewing in our basement. The combination would be really cool.

With sstate we are already seeing drastic speedups because tasks get
skipped over. But if a long compile task can not be taken from the
cache, this guy could come in as just the helper we needed here.

We will look into combining the two and see when our in-house stuff is
ready for sharing.

Our biggest issue still is "eviction". We decided to solve that with
cron and wipe the whole cache every night. For sstate that is important
because if debootstrap rootfss (something we cache) get too old, they
would need "apt-get update/upgrade" ... so we only cache for so long.

Another reason for eviction might not just be age but space. How to
make sure that ccache does not grow forever? Instructions on how to
evict are missing in the documentation. Or is it somehow self
regulating?

The next question is whether it is thread-safe, meaning many instances
of isar/bitbake can use it at the same time. Possibly from multiple
machines sharing that cache folder ...

Henning

Am Mon, 13 Sep 2021 17:10:07 +0200
schrieb Uladzimir Bely <ubely@ilbers.de>:

> Some custom user packages built from sources may be written in C/C++.
> Using ccache will help decrease build time in case they are rebuilt.
> 
> For example, building `mc:stm32mp15x-buster:linux-mainline` during the
> test took 28 minutes at second build with ccache enabled in
> comparison with 115 minutes of first build.
> 
> Uladzimir Bely (2):
>   meta: Support for ccache for custom packages in buildchroot
>   doc: Add section about ccache usage
> 
>  doc/user_manual.md                            | 16 +++++++++++++
>  meta-isar/conf/local.conf.sample              |  5 ++++
>  meta/classes/buildchroot.bbclass              |  6 +++++
>  meta/classes/ccache.bbclass                   | 23
> +++++++++++++++++++ meta/classes/dpkg.bbclass                     |
> 12 +++++++++- .../buildchroot/buildchroot.inc               |  1 +
>  .../buildchroot/files/build.sh                |  6 +++++
>  .../buildchroot/files/common.sh               |  1 +
>  8 files changed, 69 insertions(+), 1 deletion(-)
>  create mode 100644 meta/classes/ccache.bbclass
> 


  parent reply	other threads:[~2021-09-15 16:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-13 15:10 Uladzimir Bely
2021-09-13 15:10 ` [PATCH 1/2] meta: Support for ccache for custom packages in buildchroot Uladzimir Bely
2021-09-13 18:21   ` Jan Kiszka
2021-09-13 15:10 ` [PATCH 2/2] doc: Add section about ccache usage Uladzimir Bely
2021-09-13 18:16   ` Jan Kiszka
2021-09-16 11:00     ` Baurzhan Ismagulov
2021-09-15 16:43 ` Henning Schild [this message]
2021-09-15 17:39   ` [PATCH 0/2] Support for ccache Jan Kiszka

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=20210915184318.7c32c158@md1za8fc.ad001.siemens.net \
    --to=henning.schild@siemens.com \
    --cc=isar-users@googlegroups.com \
    --cc=ubely@ilbers.de \
    /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