<div dir="ltr"><div dir="ltr">All,<input name="virtru-metadata" type="hidden" value="{&quot;email-policy&quot;:{&quot;state&quot;:&quot;closed&quot;,&quot;expirationUnit&quot;:&quot;days&quot;,&quot;disableCopyPaste&quot;:false,&quot;disablePrint&quot;:false,&quot;disableForwarding&quot;:false,&quot;enableNoauth&quot;:false,&quot;persistentProtection&quot;:false,&quot;expandedWatermarking&quot;:false,&quot;expires&quot;:false,&quot;isManaged&quot;:false},&quot;attachments&quot;:{},&quot;compose-id&quot;:&quot;1&quot;,&quot;compose-window&quot;:{&quot;secure&quot;:false}}"><div><br></div><div>In regards to our original June 28th post:</div><div><br></div><div>We&#39;re looking for things we can do to improve the multiconfig build time.</div><div><br></div><div>Even on our build servers it still takes a long time.</div><div>For instance, our build servers each have 64 core, 128G RAM with 4 NVMe SSD HDs in a striped raid (<i>all configured with bells and whistles to make it super fast</i>).</div><div>A full fresh build on one of those servers still takes 6 hours.</div><div><br></div><div>I need to also clarify that we do indeed define different DISTRO_FEATURES between multiconfigs, so multiconfig is necessary.</div><div><br></div><div>(1) We&#39;re attempting to use the ccache (via ccache.bbclass), but it&#39;s causing some build errors that we&#39;re investigating.</div><div>(2) Can we at least set the root native work directory to be the same for all multiconfigs?</div><div><ul><li>Would each multiconfig honor the previously built native tools?</li><li>Or, would it just rebuild them, anyway?</li><li>Is this safe or tested or supported?</li></ul>(3) We&#39;re considering a network shared sstate-cache.  But it&#39;s not entirely clear if a multiconfig build is benefited by the sstate-cache directory.</div><div><ul><li>Under what circumstances does a multiconfig leverage sstate-cache when building for another multiconfig?<br></li><li>What if the recipe would be affected by a change in DISTRO_FEATURES between multiconfigs?<br></li><li>Are native packages included in the sstate-cache or just target packages?<br></li></ul></div><div>We welcome all thoughts and ideas.</div><div><br></div><div>-Alan</div></div><br><div class="gmail_quote" style=""><div dir="ltr" class="gmail_attr">On Sun, Jun 30, 2019 at 5:38 PM Richard Purdie &lt;<a href="mailto:richard.purdie@linuxfoundation.org">richard.purdie@linuxfoundation.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2019-06-28 at 13:31 -0400, Alan Kozlay wrote:<br>
&gt; We have need to generate 6 slighly different images, with different<br>
&gt; dedicated applications and use cases, but they&#39;re all destined for<br>
&gt; the same hardware.<br>
&gt; We have multiconfig set to build these 6 variants.  Clearly, they&#39;ll<br>
&gt; all share a majority of underlying packages.<br>
&gt; While the bitbake initialization takes a long time (with<br>
&gt; multiconfig), we were under the impression that it could save time<br>
&gt; during the actual build process because it could have the potential<br>
&gt; to reuse packages already built from mc A for mc B if the inputs to<br>
&gt; the recipes are unchanged (if same xxx_FEATURES, same arch, etc.).<br>
&gt; <br>
&gt; This was a guess on our part since we initially didn&#39;t assign<br>
&gt; different tmp directories for each conf.  So, the &lt;WORKDIR&gt; didn&#39;t<br>
&gt; change between mc builds.  That actually was causing some issues<br>
&gt; until we realized that separate tmp dirs was recommended for them.<br>
&gt; Since they all now have separate tmp dirs, they clearly are not going<br>
&gt; to share work dirs, so, now we&#39;re questioning our original assumption<br>
&gt; about any build-time speed benefit.<br>
&gt; <br>
&gt; So, is mc expected to be any faster than, say, 6 separate invocations<br>
&gt; of non-mc bitbake whilst switching out the local.conf between them? <br>
<br>
Ultimately, yes, it would be expected to be faster.<br>
<br>
With the code as it stands today, no, it won&#39;t be. Its a known open<br>
issue:<br>
<br>
<a href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=10682" rel="noreferrer" target="_blank">https://bugzilla.yoctoproject.org/show_bug.cgi?id=10682</a><br>
<br>
What would be faster is to build one of the configs initially which<br>
will populate the sstate cache, then build the other 5 together in one<br>
multiconfig.<br>
<br>
We obviously want to get that issue fixed ultimately but its not an<br>
easy thing to do due to the way our codebase works.<br>
<br>
Cheers,<br>
<br>
Richard<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span><div><div dir="ltr"><div><div>Alan Kozlay<br></div><div dir="ltr">VES Solutions, LLC<br><span>Alan Kozlay &lt;alan.kozlay@ves.solutions&gt;</span><div>DESK 443-595-7734<br></div><div>CELL 443-752-0323</div></div></div></div></div></span></div></div></div></div></div>