From: Gary Thomas <gary@mlbassoc.com>
To: Christopher Larson <clarson@kergoth.com>
Cc: Yocto Project <yocto@yoctoproject.org>
Subject: Re: sstate black hole?
Date: Tue, 07 Apr 2015 09:52:07 -0600 [thread overview]
Message-ID: <5523FD27.3030905@mlbassoc.com> (raw)
In-Reply-To: <CABcZANkkVq+WXx_+qBidBjTPtd4gdctUcrUkocXZK-vuY3paEQ@mail.gmail.com>
On 2015-04-07 09:27, Christopher Larson wrote:
>
> On Tue, Apr 7, 2015 at 7:52 AM, Gary Thomas <gary@mlbassoc.com <mailto:gary@mlbassoc.com>> wrote:
>
> I'm building for multiple ARM i.MX6 platforms. These have
> the same SoC, but slightly different peripherals. As far as
> I can tell, they should be able to share everything except
> for a few ${MACHINE} specific packages, e.g. the kernel and
> u-boot.
>
> Sadly, that doesn't seem to be the case. The architecture
> specific packages are being split into two categories - plain
> ARM/Cortex-A9 and those that have i.MX6 specific optimizations.
> For example, after building a complete image (on the order of
> core-image-sato), I have this split:
> $ ls tmp/work/cortexa9hf-vfp-neon-__amltd-linux-gnueabi/
> acl gst-player libsamplerate0 modutils-initscripts shadow-sysroot
> alsa-utils gst-plugins-bad libsm mpeg2dec shared-mime-info
> apmd gst-plugins-good libsndfile1 mplayer2 speex
> atk gst-plugins-ugly libsoup-2.4 mtdev sqlite3
> attr gstreamer libtheora ncurses startup-notification
> base-passwd gstreamer1.0 libtirpc neon strace
> ...
> gst-ffmpeg libpostproc matchbox-wm scrnsaverproto zlib
> gst-fluendo-mpegmux libproxy mkfontdir settings-daemon
> gst-meta-base libpthread-stubs mkfontscale shadow
>
> $ ls tmp/work/cortexa9hf-vfp-neon-__mx6qdl-amltd-linux-gnueabi/
> alsa-lib gst-plugins-base imx-gpu-viv libfslparser libsdl xf86-video-imxfb-vivante
> cairo gstreamer1.0-plugins-bad libdrm libfslvpuwrap mesa xserver-xorg
> firmware-imx gstreamer1.0-plugins-base libfslcodec libglu pulseaudio
>
> It's the second category that is causing problems. They do not
> seem to end up in any shareable sstate at all. If I try to rebuild
> using only sstate, i.e. build my complete image to success, then
> remove 'tmp' and rebuild, using the sstate-cache from the first go,
> all of the above packages (alsa-lib, ..., xserver-xorg) are all
> rebuilt from scratch. Those recipes do seem to end in my sstate-cache,
> but they are never reused from it.
>
> What would make this happen? How can I prevent it?
>
> As is, sstate is not really shareable between these i.MX6 targets
> as so much is being rebuilt all the time...
>
>
> bitbake -S printdiff <target> (e.g. a specific recipe, your image, whatever) will tell you why the sstate wasn't used, by finding the ones that are in SSTATE_DIR which most closely
> match the current configuration, and displaying a detailed delta between the two. You might need https://gist.github.com/kergoth/3713d779c14dc8b98f36.
Sorry, that didn't seem to do anything (I didn't apply your
patch since I'm not looking at any native or sdk packages).
Here's what I got:
$ bitbake -S printdiffs xserver-xorg
...
NOTE: Preparing RunQueue
NOTE: Reparsing files to collect dependency data
Writing locked sigs to /local/imx6_2015-03-26/locked-sigs.inc
NOTE: Tasks Summary: Attempted 0 tasks of which 0 didn't need to be rerun and all succeeded.
No other output.
I can see [manually] that there are a number of cache entries, e.g.
$ find sstate-cache/ -name "*xserver-xorg*package.tgz"
sstate-cache/48/sstate:xserver-xorg:cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi:1.16.3:r0:cortexa9hf-vfp-neon-mx6qdl:3:487ec958840dd9ed48ff3da86e2dabdb_package.tgz
sstate-cache/4f/sstate:xserver-xorg:cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi:1.16.3:r0:cortexa9hf-vfp-neon-mx6qdl:3:4f7a493630c7f29762714430ea6be4d1_package.tgz
sstate-cache/80/sstate:xserver-xorg:cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi:1.16.3:r0:cortexa9hf-vfp-neon-mx6qdl:3:8041b9f7bda788038e011829939e2049_package.tgz
sstate-cache/2d/sstate:xserver-xorg:cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi:1.16.3:r0:cortexa9hf-vfp-neon-mx6qdl:3:2de173b1c4875889f124ce4560f42ed7_package.tgz
sstate-cache/b4/sstate:xserver-xorg:cortexa9hf-vfp-neon-mx6qdl-amltd-linux-gnueabi:1.16.3:r0:cortexa9hf-vfp-neon-mx6qdl:3:b492f53c05ca6cbeb51b2e574dd60495_package.tgz
So I would think that something would be printed. Do I need to do something
else to make this work, e.g. cleaning the target package, etc?
Note: I looked at the 'locked-sigs.inc' that was generated and I noticed
that there is no section for the recipes I'm interested in:
$ grep ^SIG locked-sigs.inc
SIGGEN_LOCKEDSIGS_t-imx6qsabresd = "\
SIGGEN_LOCKEDSIGS_t-x86-64 = "\
SIGGEN_LOCKEDSIGS_t-x86-64-arm = "\
SIGGEN_LOCKEDSIGS_t-cortexa9hf-vfp-neon = "\
SIGGEN_LOCKEDSIGS_TYPES_imx6qsabresd = "t-imx6qsabresd t-x86-64 t-x86-64-arm t-cortexa9hf-vfp-neon"
I would think there would need to be a "SIGGEN_LOCKEDSIGS_t-cortexa9hf-vfp-neon-mx6qdl" section?
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
next prev parent reply other threads:[~2015-04-07 15:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-07 14:52 sstate black hole? Gary Thomas
2015-04-07 15:27 ` Christopher Larson
2015-04-07 15:52 ` Gary Thomas [this message]
2015-04-07 16:19 ` Martin Jansa
2015-04-07 16:29 ` Gary Thomas
2015-04-07 16:33 ` Martin Jansa
2015-04-07 16:42 ` Gary Thomas
-- strict thread matches above, loose matches on Subject: below --
2015-06-15 13:35 Gary Thomas
2015-06-15 13:58 ` Nikolay Dimitrov
2015-06-15 14:21 ` Martin Jansa
2015-06-15 17:41 ` Gary Thomas
2015-06-15 17:46 ` Martin Jansa
2015-06-15 19:33 ` Gary Thomas
2015-06-16 0:19 ` Gary Thomas
2015-06-16 8:37 ` Paul Eggleton
2015-06-16 10:47 ` Gary Thomas
2015-06-16 12:36 ` Paul Eggleton
2015-06-16 13:21 ` Gary Thomas
2015-06-16 13:46 ` Paul Eggleton
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=5523FD27.3030905@mlbassoc.com \
--to=gary@mlbassoc.com \
--cc=clarson@kergoth.com \
--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.