All of lore.kernel.org
 help / color / mirror / Atom feed
* about when poky check sstate_cache #yocto
@ 2020-05-27  6:29 zhangyifan46
  2020-05-27  8:00 ` [poky] " Richard Purdie
  0 siblings, 1 reply; 3+ messages in thread
From: zhangyifan46 @ 2020-05-27  6:29 UTC (permalink / raw)
  To: poky

[-- Attachment #1: Type: text/plain, Size: 1187 bytes --]

I read the codes about sstate_cache. Let me briefly talk about how it work . I am not sure if it is right.
Example,we have setscene tasks A_setsscene, B_setcene.
and Task C ,D are not setscene task.
After we bitbake something, runqueue started,and it check A , B to see if the sstate_caache exists and if exist, the poky does unpacking the cache and then ,ordinary build process starts and it will skip A and B.
So checking the existence and validation of sstate_cache is before ordinary build process instead of right before execcuting A and B(for example, we have a dependency tree, A,depend on X ,checking is before X instead of between X and A)
that's the result of my reading codes. And i did a small experienment that, in the middle of a clean bitbake project, i copied  all sstae_caches to the sstate_cache directory and it seemed the bitbake skips no task and unpacking did not happen.

Finally, i have a question. Can we move the checking and unpacking to, like the example above, right before executing A ,between X and A.
it means a lot to me. Cause the sharing of sstate_cache may be helpful to a more efficent parallel make(instead of just parallel make gcc jobs)

[-- Attachment #2: Type: text/html, Size: 1238 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [poky] about when poky check sstate_cache #yocto
  2020-05-27  6:29 about when poky check sstate_cache #yocto zhangyifan46
@ 2020-05-27  8:00 ` Richard Purdie
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Purdie @ 2020-05-27  8:00 UTC (permalink / raw)
  To: zhangyifan46, poky

On Tue, 2020-05-26 at 23:29 -0700, zhangyifan46@huawei.com wrote:
> I read the codes about sstate_cache. Let me briefly talk about how it
> work . I am not sure if it is right.
> Example,we have setscene tasks A_setsscene, B_setcene.
> and Task C ,D are not setscene task.
> After we bitbake something, runqueue started,and it check A , B to
> see if the sstate_caache exists and if exist, the poky does unpacking
> the cache and then ,ordinary build process starts and it will skip A
> and B.
> So checking the existence and validation of sstate_cache is before
> ordinary build process instead of right before execcuting A and B(for
> example, we have a dependency tree, A,depend on X ,checking is before
> X instead of between X and A)
> that's the result of my reading codes.

This is correct. Its because if A depends on B and A is present in the
cache, we can skip B entirely in some cases. This means the checking
has to happen at the start of the build.

>  And i did a small experienment that, in the middle of a clean
> bitbake project, i copied  all sstae_caches to the sstate_cache
> directory and it seemed the bitbake skips no task and unpacking did
> not happen.

Correct.

> Finally, i have a question. Can we move the checking and unpacking
> to, like the example above, right before executing A ,between X and
> A. it means a lot to me. Cause the sharing of sstate_cache may be
> helpful to a more efficent parallel make(instead of just parallel
> make gcc jobs)

You can share the sstate cache directory amongst multiple machines over
NFS. The dependency cannot be moved just before A though for the reason
I mention above.

Cheers,

Richard


^ permalink raw reply	[flat|nested] 3+ messages in thread

* about when poky check sstate_cache #yocto
@ 2020-05-27  6:25 zhangyifan46
  0 siblings, 0 replies; 3+ messages in thread
From: zhangyifan46 @ 2020-05-27  6:25 UTC (permalink / raw)
  To: yocto

[-- Attachment #1: Type: text/plain, Size: 1187 bytes --]

I read the codes about sstate_cache. Let me briefly talk about how it work . I am not sure if it is right.
Example,we have setscene tasks A_setsscene, B_setcene.
and Task C ,D are not setscene task.
After we bitbake something, runqueue started,and it check A , B to see if the sstate_caache exists and if exist, the poky does unpacking the cache and then ,ordinary build process starts and it will skip A and B.
So checking the existence and validation of sstate_cache is before ordinary build process instead of right before execcuting A and B(for example, we have a dependency tree, A,depend on X ,checking is before X instead of between X and A)
that's the result of my reading codes. And i did a small experienment that, in the middle of a clean bitbake project, i copied  all sstae_caches to the sstate_cache directory and it seemed the bitbake skips no task and unpacking did not happen.

Finally, i have a question. Can we move the checking and unpacking to, like the example above, right before executing A ,between X and A.
it means a lot to me. Cause the sharing of sstate_cache may be helpful to a more efficent parallel make(instead of just parallel make gcc jobs)

[-- Attachment #2: Type: text/html, Size: 1223 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-27  8:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27  6:29 about when poky check sstate_cache #yocto zhangyifan46
2020-05-27  8:00 ` [poky] " Richard Purdie
  -- strict thread matches above, loose matches on Subject: below --
2020-05-27  6:25 zhangyifan46

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.