<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/runqueue.py, branch 1.6_M1.rc1</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=1.6_M1.rc1</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=1.6_M1.rc1'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2013-11-26T23:01:33+00:00</updated>
<entry>
<title>bitbake: bitbake: Share BB_TASKDEPDATA with tasks</title>
<updated>2013-11-26T23:01:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-25T23:18:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d0616923724c5d021a816ec778e836283a2ccfe2'/>
<id>urn:sha1:d0616923724c5d021a816ec778e836283a2ccfe2</id>
<content type='text'>
Currently tasks have no knowledge of which other tasks they depend
upon. This makes it impossible to do at least two things which would be
desirable/interesting:

a) Have the ability to create per recipe sysroots
b) Allow the aclocal files to be present only for the entries in
   DEPENDS (directly and indirectly)

By exporting task data through this new variable, tasks can inspect
their dependencies and then take actions based upon this.

(Bitbake rev: 84f1dde717dac22435005b79d03ee0b80a3e8e62)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue: Optimise next_buildable_task()</title>
<updated>2013-11-26T23:01:33+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-25T23:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4c69970bd379f441279fe46edd92613e80ea3dc5'/>
<id>urn:sha1:4c69970bd379f441279fe46edd92613e80ea3dc5</id>
<content type='text'>
This unlikely looking function was found to be eating a lot of CPU time
since it gets called once per trip through the idle loop if we're not
running a maximum number of processes. This was particularly true in
world builds of 13,000 tasks.

Calling the computation code is pretty pointless because until some
other task finishes nothing is going to become available to build.
We can know when things become available so this patch teaches the
scheduler this knowledge.

It also:

* skips any coputation when nothing can be built
* if there is only one available item to build, ignore the priority map
* precomputes the stamp filenames, rather than doing it every time
* saves the length of the array rather than calculating it each time
  (the extra function overhead is significant)

Timing wise, initially, 5000 iterations through here was 20s, with
the patch 200000 calls takes the same time. The end result is that
builds get up and running faster.

(Bitbake rev: 4841c1d37c503a366f99e3a134dca7440e3a08ea)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue/bitbake-worker: Fix dry run fakeroot issues</title>
<updated>2013-11-24T12:25:36+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-22T13:31:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bc267ef6febb810470aeeb03e091d1a8d6c60e70'/>
<id>urn:sha1:bc267ef6febb810470aeeb03e091d1a8d6c60e70</id>
<content type='text'>
When using the dry run option (-n), bitbake would still try and fire
a specific fakeroot worker. This is doomed to failure since it might
well not have been built.

Add in some checks to prevent the failures.

[YOCTO #5367]

(Bitbake rev: f34d0606f87ce9dacadeb78bac35879b74f10559)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue: Fix hole in setsceneverify skipped task logic</title>
<updated>2013-11-20T13:48:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2013-11-20T10:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bf7d1352012c8737ae7aad3bc992c2b9c85e3205'/>
<id>urn:sha1:bf7d1352012c8737ae7aad3bc992c2b9c85e3205</id>
<content type='text'>
We have do_bundle_initramfs which is a task inserted after compile and
before build. It is not covered by sstate.

If we run a build with a valid sstate cache present, the setsceneverify
function realises it will rerun the do_compile step (due to the
bundle_initramfs task) and hence marks do_populate_sysroot to rerun.
do_install, a dependency of do_populate_sysroot is left as marked as
covered by sstate.

What we need to do is traverse the dependency tree for any setsceneverify
invalided task and ensure any dependencies are also invalidated. We can
stop at any point we reach another setscene task though.

This means the do_populate_sysroot task has the data from do_install
available and doesn't crash.

(Bitbake rev: f21910157d873c030b149c4cdc5b57c5062ab5a6)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: runqueue: add task hash to Queue events</title>
<updated>2013-09-22T11:19:44+00:00</updated>
<author>
<name>Alexandru DAMIAN</name>
<email>alexandru.damian@intel.com</email>
</author>
<published>2013-09-18T12:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ace48c2866b9e74051ea97e26f09eaded9c21dcf'/>
<id>urn:sha1:ace48c2866b9e74051ea97e26f09eaded9c21dcf</id>
<content type='text'>
Adding the sstate-related hash for all runqueue and
scenequeue tasks, as it's needed in the WebHob data.

(Bitbake rev: b6e2ce1cf7a0ede890f08fabf536a556dc4263c5)

Signed-off-by: Alexandru DAMIAN &lt;alexandru.damian@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: build, runqueue: adds info to the *runQueue* events</title>
<updated>2013-09-22T11:19:44+00:00</updated>
<author>
<name>Alexandru DAMIAN</name>
<email>alexandru.damian@intel.com</email>
</author>
<published>2013-09-18T12:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5ee82d404897c6af8d7cdfc728c6ba007bfd76b7'/>
<id>urn:sha1:5ee82d404897c6af8d7cdfc728c6ba007bfd76b7</id>
<content type='text'>
This patch adds task identifying information for all
runQueue and sceneQueue events, and for bb.build.Task* events.
This will allow matching event to specific tasks in the UI
handlers processing these events.

Adds RunQueueData functions to get the task name and task
file for usage with the runQueue* events.

Adds taskfile and taskname properties to bb.build.TaskBase.

Adds taskfile and taskname properties to the *runQueue* events

(Bitbake rev: b4a5e4be50d871a80dbe0993117d73f5ad82e38f)

Signed-off-by: Alexandru DAMIAN &lt;alexandru.damian@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: cooker,runqueue: send the task dependency tree</title>
<updated>2013-09-22T11:19:43+00:00</updated>
<author>
<name>Alexandru DAMIAN</name>
<email>alexandru.damian@intel.com</email>
</author>
<published>2013-09-18T12:15:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f7621f47d8dc765a921587172e15ec6a3c88f56a'/>
<id>urn:sha1:f7621f47d8dc765a921587172e15ec6a3c88f56a</id>
<content type='text'>
Adding a CookerFeature that allows UIs to enable
receving a dependency tree once the task data has been
computed and the runQueue is ready to start.

This will allow the clients to display dependency
data in an efficient manner, and not recompute the runqueue
specifically to get the dependency data.

(Bitbake rev: 75466a53b6eece5173a9bfe483414148e4c06517)

Signed-off-by: Alexandru DAMIAN &lt;alexandru.damian@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue: add runQueueTaskSkipped event</title>
<updated>2013-09-17T13:11:02+00:00</updated>
<author>
<name>Alexandru DAMIAN</name>
<email>alexandru.damian@intel.com</email>
</author>
<published>2013-09-16T12:46:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a828c898228292c238e42e20d7e254a3f9847082'/>
<id>urn:sha1:a828c898228292c238e42e20d7e254a3f9847082</id>
<content type='text'>
Adding a runQueueTaskSkipped to notify that the tasks that are not
run either because they are set-scened or they don't need an update
(timestamp was ok).

(Bitbake rev: cf4a0c7aa82090876ae652b611acfab3ce2688f7)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: bitbake: runqueue: add sceneQueueTaskCompleted event</title>
<updated>2013-09-10T14:57:20+00:00</updated>
<author>
<name>Alexandru DAMIAN</name>
<email>alexandru.damian@intel.com</email>
</author>
<published>2013-09-09T16:40:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2044668a411b5decbb496ff9579a89e561c322d3'/>
<id>urn:sha1:2044668a411b5decbb496ff9579a89e561c322d3</id>
<content type='text'>
Adding an event to be fired when a scene task is completed.
It is analogous to the run task completed event, and has
been missing for some reason.

(Bitbake rev: 73b8f4d3fbeaf1b330a66d76012d0a5cef8dbe2d)

Signed-off-by: Alexandru DAMIAN &lt;alexandru.damian@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: runqueue.py: check whether multiple versions of the same PN are due to be built</title>
<updated>2013-09-09T15:28:46+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2013-09-02T13:47:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=87771db34c660c82333bb47a17b31f18bbffe776'/>
<id>urn:sha1:87771db34c660c82333bb47a17b31f18bbffe776</id>
<content type='text'>
There would be an race issue if we:

$ bitbake make-3.81 make-3.82

This because they are being built at the same time which would cause
unexpected problems, for example:

[snip]
ERROR: Package already staged (/path/to/tmp/sstate-control/manifest-qemux86-make.populate-sysroot)?!
ERROR: Function failed: sstate_task_postfunc
[snip]

Or there would be python's strack trace such as:

[snip]
 *** 0004:    mfile = open(manifest)
     0005:    entries = mfile.readlines()
     0006:    mfile.close()
     0007:
     0008:    for entry in entries:
Exception: IOError: [Errno 2] No such file or directory: xxx
[snip]

[YOCTO #5094]

We can quit earlier to avoid this kind of issue when two versions of the same PN
are going to be built since this isn't supported.

(Bitbake rev: ab377c00c33a2d296bfda1b0b6c2a62b29d1004f)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
