Bug 7555 - make oe-init-build-env-memres default instead of oe-init-build-env
Summary: make oe-init-build-env-memres default instead of oe-init-build-env
Status: RESOLVED FIXED
Alias: None
Product: BitBake
Classification: Build System, Metadata & Runtime
Component: bitbake (show other bugs)
Version: 1.9
Hardware: x86 Multiple
: High enhancement
Target Milestone: 2.4 M2
Assignee: Paul Eggleton
QA Contact:
URL:
Whiteboard:
Depends on: tinfoil2 10730 10732
Blocks:
  Show dependency tree
 
Reported: 2015-04-01 05:02 UTC by Benjamin Esquivel
Modified: 2017-12-06 16:48 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Yes (doc changes required)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Esquivel 2015-04-01 05:02:13 UTC
This is a proposal to have oe-init-build-env-memres (and oe-init-build-env) to either:

A) use getopts
B) at the memres script have this argument order: <builddir> <port> (right now it is <port> <builddir>)

I consider A the standard for calling a script with arguments but it might present some portability issues and, I consider B would help positional argument coherency between the two oe-init-build-env* scripts. B would also allow you at the memres script to specify <builddir> and leave port to random.
Comment 1 Benjamin Esquivel 2015-04-01 16:42:29 UTC
The proposal has turned to make the memres option default. This would mean to try to keep a single file for both memres and not and do memres always unless otherwise specified via command line.

There is also the proposal to use the port for memres from the environment or generate it randomly if not found. This means dropping the command line argument for the port as well.

Testing required for this type of change would be:

1. build machine core count variation (run bbperf on it). This would act as both, performance and functional testing.
2. build small and big (number of tasks) image targets.
Comment 2 Benjamin Esquivel 2016-07-19 14:57:10 UTC
changing title since it is no longer accurate
Comment 3 Paul Eggleton 2017-07-25 09:36:18 UTC
This has been resolved in a slightly different way than anticipated - Richard has reworked the server connection logic to remove the process/xmlrpc abstraction - there is now a hybrid server that can be persistent if a timeout is set via BB_SERVER_TIMEOUT (in seconds). There are still some bugs to be worked out, but we are now operating with memory resident mode effectively being the default. (oe-init-build-env-memres is now gone as well so there's no split from the user perspective.)

Here's Richard's commit that implemented it:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=4602408c69132315c3784718fe4ce155b12464cf