<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake, branch 3.1_M1</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=3.1_M1</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=3.1_M1'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-12-12T14:21:35+00:00</updated>
<entry>
<title>bitbake: Revert "siggen: Fix hashequiv performance issues"</title>
<updated>2019-12-12T14:21:35+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-12T14:20:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=39d45ef825694705daf6d7ab4ab3066b1b8e3aa2'/>
<id>urn:sha1:39d45ef825694705daf6d7ab4ab3066b1b8e3aa2</id>
<content type='text'>
This reverts commit c4b8440f730c33eaf9f818b856ae81b2f1017fec.

The logic in this change is flawed and needs to be re-thought.

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Fix hashequiv performance issues</title>
<updated>2019-12-12T13:15:00+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-11T23:11:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6b2cdc4b96eab7ad5e8ae8daebe24f2b18b09b1e'/>
<id>urn:sha1:6b2cdc4b96eab7ad5e8ae8daebe24f2b18b09b1e</id>
<content type='text'>
We're seeing huge slowdowns on large builds on the autobuilder. A qemux86 world
build was running really slowly, a primary feature was lots of rehashing going on
due to an sstate change which caused a rebuild when all output should be identical.

This was traced to the hundreds of thousands of calls to get_unihash() from
get_taskash(). If we simplify the unitaskhashes data structure, we can bypass
the function call and access the data directly. In local profile charts,
this significanly sped up process_possible_migrations(), both on profiles
and visually.

Whilst this change doesn't aid readability, it does solve an otherwise
huge performance issue.

(Bitbake rev: c4b8440f730c33eaf9f818b856ae81b2f1017fec)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue: Batch scenequeue updates</title>
<updated>2019-12-12T13:15:00+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>jpewhacker@gmail.com</email>
</author>
<published>2019-12-11T22:16:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b3771bded2f288578fe06ef9a2886c713d065c78'/>
<id>urn:sha1:b3771bded2f288578fe06ef9a2886c713d065c78</id>
<content type='text'>
Batch all updates to scenequeue data together in a single invocation
instead of checking each task serially. This allows the checks for
sstate object to happen in parallel, and also makes sure the log
statement only happens once (per set of rehashes).

(Bitbake rev: db033a8f8a276d864bdb2e1eef159ab5794a0658)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Ensure new unihash propagates through the system</title>
<updated>2019-12-09T17:29:49+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-09T17:28:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4f528b0bf3bfe26a26a72517baaae299b699bb0e'/>
<id>urn:sha1:4f528b0bf3bfe26a26a72517baaae299b699bb0e</id>
<content type='text'>
Its possible the new unihash may not exist in sstate. Currently the code
would create an sstate object with the old hash however this updates it to
create the object with the new unihash.

(Bitbake rev: abcaa1398031fa5338a43859c661e6d4a9ce863d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: siggen: Avoid taskhash mismatch errors for nostamp tasks when dependencies rehash</title>
<updated>2019-12-06T14:39:29+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-05T15:26:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e10df257c9f1fdb63a8683f7aea80b0e5df896ca'/>
<id>urn:sha1:e10df257c9f1fdb63a8683f7aea80b0e5df896ca</id>
<content type='text'>
An example:

NOTE: recipe binutils-cross-testsuite-2.32.0-r0: task do_check: Started
ERROR: Taskhash mismatch b074da4334aff8aa06572e7a8725c941fa6b08de4ce714a65a90c0c0b680abea versus 17375278daed609a7129769b74a1336a37bdef14b534ae85189ccc033a9f2db4 for /home/pokybuild/yocto-worker/qemux86-64/build/meta/recipes-devtools/binutils/binutils-cross-testsuite_2.32.bb:do_check
NOTE: recipe binutils-cross-testsuite-2.32.0-r0: task do_check: Succeeded

Is caused by a rehash in a dependency happening somewhere earlier in the build
and the taint being reset.

Change the code so that nostamp taints are preserved to avoid the issue.

(Bitbake rev: 61624a3fc38e8546e01356d5ce7a09f21e7094ab)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: knotty/uihelper: Switch from pids to tids for Task event management</title>
<updated>2019-12-06T14:39:29+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-03T22:01:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ccd7f12b1c95b546ef79204ad0832b88a595d0ea'/>
<id>urn:sha1:ccd7f12b1c95b546ef79204ad0832b88a595d0ea</id>
<content type='text'>
We've seen cases where a task can execute with a given pid, complete
and a new task can start using the same pid before the UI handler has
had time to adapt.

Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/qemux86-alt/build/bitbake/lib/bb/ui/knotty.py", line 484, in main
    helper.eventHandler(event)
  File "/home/pokybuild/yocto-worker/qemux86-alt/build/bitbake/lib/bb/ui/uihelper.py", line 30, in eventHandler
    del self.running_tasks[event.pid]
KeyError: 13490

This means using pids to match up events on the UI side is a bad
idea. Change the code to use task ids instead. There is a small
amount of fuzzy matching for the progress information since there
is no task information there and we don't want the overhead of a task
ID in every event, however since pid reuse is unlikely, we can live
with a progress bar not quite working properly in a corner case like
this.

[YOCTO #13667]

(Bitbake rev: e427eafa1bb04008d12100ccc5c862122bba53e0)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue: Add extra debugging when locked sigs mismatches occur</title>
<updated>2019-12-04T12:12:45+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-04T11:31:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d61727185a719b455148d78b03c165669e5cd228'/>
<id>urn:sha1:d61727185a719b455148d78b03c165669e5cd228</id>
<content type='text'>
(Bitbake rev: 3aad9978be2a40d4c535a5ae092f374ba2a5f627)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue/siggen: Allow handling of equivalent hashes</title>
<updated>2019-12-04T12:12:45+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-04T11:27:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=36e40ed24ff7cc0fdb7fd5230256edae7a3c7ade'/>
<id>urn:sha1:36e40ed24ff7cc0fdb7fd5230256edae7a3c7ade</id>
<content type='text'>
Based on the hashserv's new ability to accept hash mappings, update runqueue
to use this through a helper function in siggen.

This addresses problems with meta-extsdk-toolchain and its dependency on
gdb-cross which caused errors when building eSDK. See the previous commit
for more details.

(Bitbake rev: 39098b4ba2133f4d9229a0aa4fcf4c3e1291286a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: hashserv: Add support for equivalent hash reporting</title>
<updated>2019-12-04T12:12:45+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-12-04T11:21:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f271a6773a4fb8cbf26acc3a050618cb81eda481'/>
<id>urn:sha1:f271a6773a4fb8cbf26acc3a050618cb81eda481</id>
<content type='text'>
The reason for this should be recorded in the commit logs. Imagine
you have a target recipe (e.g. meta-extsdk-toolchain) which depends on
gdb-cross. sstate in OE-Core allows gdb-cross to have the same hash
regardless of whether its built on x86 or arm. The outhash will be
different.

We need hashequiv to be able to adapt to the prescence of sstate artefacts
for meta-extsdk-toolchain and allow the hashes to re-intersect, rather than
trying to force a rebuild of meta-extsdk-toolchain. By this point in the build,
it would have already been installed from sstate so the build needs to adapt.

Equivalent hashes should be reported to the server as a taskhash that
needs to map to an specific unihash. This patch adds API to the hashserv
client/server to allow this.

[Thanks to Joshua Watt for help with this patch]

(Bitbake rev: 674692fd46a7691a1de59ace6af0556cc5dd6a71)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue.py: not show warning for deferred multiconfig task</title>
<updated>2019-11-29T11:26:12+00:00</updated>
<author>
<name>Kai Kang</name>
<email>kai.kang@windriver.com</email>
</author>
<published>2019-10-17T03:08:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e0ce87bf85a43e8e4306dedc6e91f6bed4dd6740'/>
<id>urn:sha1:e0ce87bf85a43e8e4306dedc6e91f6bed4dd6740</id>
<content type='text'>
When follow the instructions of multiconfig from Yocto dev manual that
set in core-image-sato recipe:

  do_image[mcdepends] = "multiconfig:x86:arm:core-image-minimal:do_rootfs"

it show too many annoying warnings look like:

| WARNING: Deferring mc:x86:virtual:native:/buildarea6/kkang/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb:do_populate_sysroot
| after mc:arm: virtual:native:/buildarea6/kkang/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb:do_populate_sysroot

Treat them as infomations rather than warnings.

(Bitbake rev: 0fb4b5153237af4a13b2c65711ab798b0de06c2f)

Signed-off-by: Kai Kang &lt;kai.kang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
