Comments

This is a pretty fundamental change to the way bitbake operates. It
splits out the task execution part of runqueue into a completely
separately exec'd process called bitbake-worker.
This means that the separate process has to build its own datastore and
that configuration needs to be passed from the cooker over to the
bitbake worker process.
At this point the patch is an RFC just to let people see the way things
are moving. Known issues:
* Hob is broken with this patch since it writes to the configuration
and that configuration isn't preserved in bitbake-worker.
* We create a worker for setscene, then a new worker for the main task
execution. This is wasteful but shouldn't be hard to fix.
* Logging is a bit verbose/debuggy at the moment.
* The worker_fire() logic is ugly, needs a proper interface.
* Need to have bitbake-worker have a magic argument and exit telling
the user not to run it directly.
* We probably send too much data over to bitbake-worker, need to
see if we can streamline it.
On the other hand it does actually build things and works without
exploding horribly in local tests :)
I'm open to feedback and we're running this change through the
benchmarking to see what impact it has on performance as it stands.
Obviously the interesting bit (removal of the double bitbake execution)
would be a follow on to this patch, this just builds the groundwork.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---