* [PATCH 0/2] sstate improvements
@ 2014-01-18 14:02 Martin Jansa
2014-01-18 14:02 ` [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures Martin Jansa
2014-01-18 14:02 ` [PATCH 2/2] allarch: Set empty TARGET_PREFIX and TARGET_FPU Martin Jansa
0 siblings, 2 replies; 5+ messages in thread
From: Martin Jansa @ 2014-01-18 14:02 UTC (permalink / raw)
To: openembedded-core
Include native/cross/nativesdk deps in target signatures to make sstate
reuse a bit safer.
Make allarch a bit more independent on TARGET_* variables.
The following changes since commit 8163854adf87ac42a8f08ee25685d0ce1efb4724:
oe-selftest: separated the SStateBase and SStateTests in different modules (2014-01-16 12:18:44 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib jansa/sstate
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=jansa/sstate
Martin Jansa (2):
sstatesig: include native/cross/nativesdk deps in target signatures
allarch: Set empty TARGET_PREFIX and TARGET_FPU
meta/classes/allarch.bbclass | 2 ++
meta/lib/oe/sstatesig.py | 4 ----
2 files changed, 2 insertions(+), 4 deletions(-)
--
1.8.5.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures
2014-01-18 14:02 [PATCH 0/2] sstate improvements Martin Jansa
@ 2014-01-18 14:02 ` Martin Jansa
2014-01-27 14:51 ` Richard Purdie
2014-01-18 14:02 ` [PATCH 2/2] allarch: Set empty TARGET_PREFIX and TARGET_FPU Martin Jansa
1 sibling, 1 reply; 5+ messages in thread
From: Martin Jansa @ 2014-01-18 14:02 UTC (permalink / raw)
To: openembedded-core
* I don't have any real evidence or good statistics for this, but when
comparing signature dumps from my big bitbake world builds I usually
see a lot of rebuilds caused by changes in .bbclasses and only very
rare would be the case where oe-core upgrade brings changes in -native
recipes and no change in .bbclasses used from target recipes
* changing the default to include them shouldn't cause significant
increase in rebuilds and sstate reuse a bit safer
* people working on toolchain (e.g. using gcc from AUTOREV) can easily
extend sstate_rundepfilter to ignore them again (it's easier than
removing existing filter), example how add own signature handler in
your layer is here:
https://github.com/openwebos/meta-webos/commit/9ac3a7c803e7793b3274e4998f167b6278db8042
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/lib/oe/sstatesig.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 3011f16..8b0e344 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -36,10 +36,6 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
if isPackageGroup(fn):
return False
- # Drop native/cross/nativesdk dependencies from target recipes
- if isNative(depname) or isCross(depname) or isNativeSDK(depname):
- return False
-
# Exclude well defined machine specific configurations which don't change ABI
if depname in siggen.abisaferecipes and not isImage(fn):
return False
--
1.8.5.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] allarch: Set empty TARGET_PREFIX and TARGET_FPU
2014-01-18 14:02 [PATCH 0/2] sstate improvements Martin Jansa
2014-01-18 14:02 ` [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures Martin Jansa
@ 2014-01-18 14:02 ` Martin Jansa
1 sibling, 0 replies; 5+ messages in thread
From: Martin Jansa @ 2014-01-18 14:02 UTC (permalink / raw)
To: openembedded-core
* set empty TARGET_PREFIX
This has a bit weird reason caused by unsupported setup where
external-toolchain is used in some DISTRO only for some MACHINEs
and internal is used for other MACHINEs.
Because external-toolchain usually comes with different TARGET_PREFIX
it was causing allarch recipes to have different signatures even
when they don't use toolchain at all.
Empty TARGET_PREFIX also helps to find allarch recipes which still
have default dependency on e.g. virtual/${TARGET_PREFIX}gcc.
* add TARGET_FPU just for completeness (it was used in icecc.bbclass
but now it's vardepexcluded there as well)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta/classes/allarch.bbclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
index 3ef1e9c..d41dd4b 100644
--- a/meta/classes/allarch.bbclass
+++ b/meta/classes/allarch.bbclass
@@ -22,6 +22,8 @@ python () {
d.setVar("TARGET_CC_ARCH", "none")
d.setVar("TARGET_LD_ARCH", "none")
d.setVar("TARGET_AS_ARCH", "none")
+ d.setVar("TARGET_FPU", "")
+ d.setVar("TARGET_PREFIX", "")
d.setVar("PACKAGE_EXTRA_ARCHS", "")
d.setVar("SDK_ARCH", "none")
d.setVar("SDK_CC_ARCH", "none")
--
1.8.5.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures
2014-01-18 14:02 ` [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures Martin Jansa
@ 2014-01-27 14:51 ` Richard Purdie
2014-01-27 15:53 ` Martin Jansa
0 siblings, 1 reply; 5+ messages in thread
From: Richard Purdie @ 2014-01-27 14:51 UTC (permalink / raw)
To: Martin Jansa; +Cc: openembedded-core
On Sat, 2014-01-18 at 15:02 +0100, Martin Jansa wrote:
> * I don't have any real evidence or good statistics for this, but when
> comparing signature dumps from my big bitbake world builds I usually
> see a lot of rebuilds caused by changes in .bbclasses and only very
> rare would be the case where oe-core upgrade brings changes in -native
> recipes and no change in .bbclasses used from target recipes
> * changing the default to include them shouldn't cause significant
> increase in rebuilds and sstate reuse a bit safer
> * people working on toolchain (e.g. using gcc from AUTOREV) can easily
> extend sstate_rundepfilter to ignore them again (it's easier than
> removing existing filter), example how add own signature handler in
> your layer is here:
> https://github.com/openwebos/meta-webos/commit/9ac3a7c803e7793b3274e4998f167b6278db8042
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> meta/lib/oe/sstatesig.py | 4 ----
> 1 file changed, 4 deletions(-)
Whilst I merged this, we do have a problem here. This change means that
the sstate is locked to the build system architecture.
For example, if you have a 32 bit machine, it can't use any of the
sstate built on a 64 bit machine and vice versa.
I'm not sure what we do about this but its a problem...
Cheers,
Richard
> diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> index 3011f16..8b0e344 100644
> --- a/meta/lib/oe/sstatesig.py
> +++ b/meta/lib/oe/sstatesig.py
> @@ -36,10 +36,6 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
> if isPackageGroup(fn):
> return False
>
> - # Drop native/cross/nativesdk dependencies from target recipes
> - if isNative(depname) or isCross(depname) or isNativeSDK(depname):
> - return False
> -
> # Exclude well defined machine specific configurations which don't change ABI
> if depname in siggen.abisaferecipes and not isImage(fn):
> return False
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures
2014-01-27 14:51 ` Richard Purdie
@ 2014-01-27 15:53 ` Martin Jansa
0 siblings, 0 replies; 5+ messages in thread
From: Martin Jansa @ 2014-01-27 15:53 UTC (permalink / raw)
To: Richard Purdie; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 2535 bytes --]
On Mon, Jan 27, 2014 at 02:51:15PM +0000, Richard Purdie wrote:
> On Sat, 2014-01-18 at 15:02 +0100, Martin Jansa wrote:
> > * I don't have any real evidence or good statistics for this, but when
> > comparing signature dumps from my big bitbake world builds I usually
> > see a lot of rebuilds caused by changes in .bbclasses and only very
> > rare would be the case where oe-core upgrade brings changes in -native
> > recipes and no change in .bbclasses used from target recipes
> > * changing the default to include them shouldn't cause significant
> > increase in rebuilds and sstate reuse a bit safer
> > * people working on toolchain (e.g. using gcc from AUTOREV) can easily
> > extend sstate_rundepfilter to ignore them again (it's easier than
> > removing existing filter), example how add own signature handler in
> > your layer is here:
> > https://github.com/openwebos/meta-webos/commit/9ac3a7c803e7793b3274e4998f167b6278db8042
> >
> > Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > ---
> > meta/lib/oe/sstatesig.py | 4 ----
> > 1 file changed, 4 deletions(-)
>
> Whilst I merged this, we do have a problem here. This change means that
> the sstate is locked to the build system architecture.
>
> For example, if you have a 32 bit machine, it can't use any of the
> sstate built on a 64 bit machine and vice versa.
>
> I'm not sure what we do about this but its a problem...
Agreed, that's bad, I was testing it in setup where we publish the
sstate archive from the builder with the same architecture and have
similar setup building just -native recipes on 32bit for 32bit devs.
So this problem should have hit us as well, I'll recheck.
> Cheers,
>
> Richard
>
> > diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
> > index 3011f16..8b0e344 100644
> > --- a/meta/lib/oe/sstatesig.py
> > +++ b/meta/lib/oe/sstatesig.py
> > @@ -36,10 +36,6 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
> > if isPackageGroup(fn):
> > return False
> >
> > - # Drop native/cross/nativesdk dependencies from target recipes
> > - if isNative(depname) or isCross(depname) or isNativeSDK(depname):
> > - return False
> > -
> > # Exclude well defined machine specific configurations which don't change ABI
> > if depname in siggen.abisaferecipes and not isImage(fn):
> > return False
>
>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-01-27 15:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-18 14:02 [PATCH 0/2] sstate improvements Martin Jansa
2014-01-18 14:02 ` [PATCH 1/2] sstatesig: include native/cross/nativesdk deps in target signatures Martin Jansa
2014-01-27 14:51 ` Richard Purdie
2014-01-27 15:53 ` Martin Jansa
2014-01-18 14:02 ` [PATCH 2/2] allarch: Set empty TARGET_PREFIX and TARGET_FPU Martin Jansa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox