From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Michael Ho <Michael.Ho@bmw-carit.de>,
"yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: RFC: Backwards compatibility checking sstate-cache
Date: Thu, 21 Sep 2017 17:11:53 +0100 [thread overview]
Message-ID: <1506010313.18640.166.camel@linuxfoundation.org> (raw)
In-Reply-To: <1498816090789.97105@bmw-carit.de>
On Fri, 2017-06-30 at 09:48 +0000, Michael Ho wrote:
> Hi, at BMW Car IT we are working on an experimental feature to
> improve sstate cache hits and we are looking for comments on the
> approach who might have some insights to the problem and seeing if
> anyone is interested in the feature for mainline.
Sorry I didn't see this before now but it was brought to my attention.
I have given this problem quite some thought off and on. I do worry
that the interface you propose is complex and requires changes
throughout the metadata and those changes impose "policy". One of our
strengths is that we're managed to keep "policy" out of the metadata.
In this context by policy, I mean when a recipe is equivalent and when
it is not.
I do have a counter-proposal of how we could solve this in a less
invasive way. This isn't implemented but wouldn't in theory be hard to
do.
The idea would be to have some kind of equivalence list. The first
built object's sstate checksum would become the definitive checksum and
the object added to the sstate cache.
If a new object is built, it would be compared with the one in sstate.
If deemed equivalent (by whatever policy), a mapping would be added to
the list. If not, there is no mapping and it becomes a new definitive
checksum.
All runqueue would then have to do is present its list of sstate
checksums to the list and convert them (in dependency order) into
canonical checksums.
This list could be a local equivalence file, or an equivalence server
which could resolve list of checksums.
Doing it this way totally isolates the comparison from the metadata
itself and in my view protects us from future changes in definition of
equivalence.
How does that sound?
Cheers,
Richard
next prev parent reply other threads:[~2017-09-21 16:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-30 9:48 RFC: Backwards compatibility checking sstate-cache Michael Ho
2017-06-30 15:01 ` Darcy Watkins
2017-06-30 22:44 ` Michael Ho
2017-07-01 7:48 ` Martin Jansa
2017-09-22 14:00 ` Mike Looijmans
2017-09-22 22:51 ` Joshua Lock
2017-09-25 11:47 ` Mike Looijmans
2017-09-21 16:11 ` Richard Purdie [this message]
2017-10-12 14:12 ` Michael Ho
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=1506010313.18640.166.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=Michael.Ho@bmw-carit.de \
--cc=yocto@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 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.