generic-poky/bitbake/bin
Richard Purdie 3d34ae6c11 bitbake: bitbake-worker: Handle cooker/worker IO deadlocking
I noiced builds where tasks seemed to be taking a surprisingly long time.
When I looked at the output of top/pstree, these tasks were no longer
running despite being listed in knotty. Some were in D/Z state waiting for
their exit code to be collected, others were simply not present at all.

strace showed communication problems between the worker and cooker, each
was trying to write to the other and nearly deadlocking. Eventually, timeouts
would allow them to echange 64kb of data but this was only happening every
few seconds.

Whilst this particularly affected builds on machines with large numbers
of cores (and hence highly parallal task execution) and in cases where
I had a lot of debug enabled, this situation is clearly bad in general.

This patch introduces a thread to the worker which is used to write data
back to cooker. This means that the deadlock can't occur and data flows
much more freely and effectively.

(Bitbake rev: 3cb0d1c78b4c2e4f251a59b86c8da583828ad08b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-29 11:22:06 +00:00
..
bitbake bitbake: bitbake: Update version to 1.32.0 2016-10-11 08:47:17 +01:00
bitbake-diffsigs bitbake: bitbake-diffsigs/bitbake-layers: Ensure tinfoil is shut down correctly 2016-09-02 18:09:48 +01:00
bitbake-dumpsig bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
bitbake-layers bitbake: bitbake-diffsigs/bitbake-layers: Ensure tinfoil is shut down correctly 2016-09-02 18:09:48 +01:00
bitbake-prserv bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
bitbake-selftest bitbake: bitbake-selftest: enable bitbake logging to stdout 2016-08-20 16:08:59 +01:00
bitbake-worker bitbake: bitbake-worker: Handle cooker/worker IO deadlocking 2016-11-29 11:22:06 +00:00
bitdoc bitbake: bitbake: Convert to python 3 2016-06-02 08:24:02 +01:00
toaster bitbake: toaster: stop modifying OEROOT in toaster script 2016-09-30 16:52:22 +01:00
toaster-eventreplay bitbake: eventreplay: rewrite the script 2016-07-08 09:57:28 +01:00