<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/server/process.py, branch fido-13.0.0</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=fido-13.0.0</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=fido-13.0.0'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2015-03-10T10:37:28+00:00</updated>
<entry>
<title>bitbake: cooker/server: Fix up 100% CPU usage at idle</title>
<updated>2015-03-10T10:37:28+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-03-10T10:29:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0467d530179b658f6a3630526d44858f0cab3024'/>
<id>urn:sha1:0467d530179b658f6a3630526d44858f0cab3024</id>
<content type='text'>
The recent inotify changes are causing a 100% cpu usage issue in the
idle handlers. To avoid this, we update the idle functions to optionally
report a float value which is the delay before the function needs to be
called again. 1 second is fine for the inotify handler, in reality its
more like 0.1s due to the default idle function sleep.

This reverts performance regressions of 1.5 minutes on a kernel build
and ~5-6 minutes on a image from scratch.

(Bitbake rev: 0e0ba408c2dce14a0fabd3fdf61d8465a031495b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Fix select call</title>
<updated>2015-01-23T11:33:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2015-01-21T17:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=793f2f2e69cf3e4ef57a13f07538226b082cf868'/>
<id>urn:sha1:793f2f2e69cf3e4ef57a13f07538226b082cf868</id>
<content type='text'>
There was a report that bitbake -e | less would use 100% cpu when it shouldn't
really. The issue appears to be a bogus file descriptor in the select call. We
shouldn't be blocking if there is event data pending to a *reader* from server
context.

[YOCTO #7138]

(Bitbake rev: 8f166e1a0f3574ae7d1e917a8bb403b87bad15bf)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process: Ensure abnormal exits set an error level</title>
<updated>2014-09-02T17:10:37+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-09-02T17:08:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=83ebcb1f0c6ec48c526d14324b3b2037f0f4fe43'/>
<id>urn:sha1:83ebcb1f0c6ec48c526d14324b3b2037f0f4fe43</id>
<content type='text'>
(Bitbake rev: 8f5c1cdae1ee6ce04ae0d04d0b95bd80efbf7534)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process: Further improve robustness against server shutdown</title>
<updated>2014-08-23T08:31:42+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-08-21T09:27:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d33cc89e538b6cf4ffb4cdef8c51ef8960cb47f4'/>
<id>urn:sha1:d33cc89e538b6cf4ffb4cdef8c51ef8960cb47f4</id>
<content type='text'>
Currently, if an exception occurs in an event handler, the server shuts
down but the UI simply hangs. This happens in two places, firstly waiting
for events and secondly, sending events to a server which no longer exists.

The latter does time out, the former does not. These patches improve
both code sections to check if the main server process is alive and if not,
trigger things to shut down gracefully. This avoids the timeout in the
command sending case too.

This resolves various cases where the UI would simply hang indefintely.

(Bitbake rev: ac418e1112ff5f9c3157569316902f7a27fba4b4)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process: Deal with infinite looping of the server</title>
<updated>2014-08-23T08:31:42+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-08-20T22:31:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=db50630948394bdcd361f3511af40c1896b1a017'/>
<id>urn:sha1:db50630948394bdcd361f3511af40c1896b1a017</id>
<content type='text'>
Currently if an exception occurs, we just run the idle handler again and
again, usually looping indefintely. Chances are the exception that occurred
will keep occuring and this is not a good place to be.

This was breaking the autobuilders with gigabytes of logs.

At least improve things so the cooker shuts down gracefully when this happens.
Some trace of the original problem may still be present on the console too!

(Bitbake rev: 1f28d8d3311262427938180435b68f0a35c2b330)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Optimise latency when finishing idle functions</title>
<updated>2014-03-10T18:10:02+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-03-10T00:59:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=324969e9e2ed2b11e63eb31d6d8b46269a1d5dac'/>
<id>urn:sha1:324969e9e2ed2b11e63eb31d6d8b46269a1d5dac</id>
<content type='text'>
When idle functions finish, its likely we have some other work
to do, so don't sleep in the select call but instead, skip it.
This removes small amounts of latency in common commands.

(Bitbake rev: 069d6538f83b607cb46c6fe21bf6c596e8b99242)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Drop unnecessary exit delay</title>
<updated>2014-03-10T18:10:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-03-10T00:58:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5dcc20b95400d35ea1b3b1da8ffd9e9cd9a31afb'/>
<id>urn:sha1:5dcc20b95400d35ea1b3b1da8ffd9e9cd9a31afb</id>
<content type='text'>
When the server exits, we no longer appear to need this delay. This
is likely due to improvements in the various exit codepaths. There
is therefore no longer any point in taking the latency hit.

(Bitbake rev: 8e75ee29ae07e13f23525c5c6045fbf6cdbe7675)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Use a pipe for quit events instead of Event()</title>
<updated>2014-03-10T18:10:01+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-03-10T00:58:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=efdc1598d24a0ca0eec5aa96bfed4d76107ec6b9'/>
<id>urn:sha1:efdc1598d24a0ca0eec5aa96bfed4d76107ec6b9</id>
<content type='text'>
Its not possible to notice the change of status of an Event() in
the select call we sleep in. It would be possible in python 3.3 but
for now use a pipe instead. This removes small latency when bitbake
commands finish since the system doesn't sit in the select call.

(Debugging these kind of issues is apparent by setting a long sleep
for the select call)

(Bitbake rev: def28239b0f0d5f1cf13214b263114a5328538b7)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Deal more gracefully with SIGTERM</title>
<updated>2014-03-10T18:09:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-03-09T17:04:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=6f3a537dda7ea84379fc11c1ec42cfdfeaf68bd4'/>
<id>urn:sha1:6f3a537dda7ea84379fc11c1ec42cfdfeaf68bd4</id>
<content type='text'>
Currently a SIGTERM to the UI process causes the UI simply to lock up.

By setting an exit flag, the waitEvent can raise a SIGINT, allowing the
UI to break out the event loop and exit. Currently this is results in a
traceback but that is more desirable than a hanging process.

(Bitbake rev: 0d12041eceeae6bba2034b04913bb13abd67bd15)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Use the setFeatures command on the server instead of a manger</title>
<updated>2014-03-10T18:09:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2014-03-09T17:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8fbe21845c67a81e79039268717941312fbc7d30'/>
<id>urn:sha1:8fbe21845c67a81e79039268717941312fbc7d30</id>
<content type='text'>
The use of a manager in the process server causes some issues since it remains
around for the lifetime of the server even though its only used during
initialisation and the system doesn't respond well to SIGTERM events
to the extra process (and two threads) the implementation involves.

Switching to a dedicated command simplifies the server process structure.

(Bitbake rev: 74532a7cf8ccea8b85f1cda5d5bc23d2f3c72a08)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
