Bug 11188

Summary: devtool: optimise task execution
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Paul Eggleton <bluelightning>
Component: Scripts and ToolsAssignee: Paul Eggleton <bluelightning>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: Medium CC: ross.burton
Version: 2.2   
Target Milestone: 2.4 M2   
Hardware: All   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Paul Eggleton 2017-03-20 04:23:16 UTC
If you run devtool modify on the kernel (worst case example, but other recipes are affected) there are things being done that shouldn't be done - e.g. multiple parses of the configuration, summary messages, events etc. Here's the output where you can see some of it:

------------ snip ------------
$ devtool modify virtual/kernel
Loading cache: 100% |########################################| Time: 0:00:00
Loaded 2181 entries from dependency cache.
NOTE: Mapping virtual/kernel to linux-intel
Loading cache: 100% |########################################| Time: 0:00:00
Loaded 2181 entries from dependency cache.
NOTE: Executing RunQueue Tasks
NOTE: Executing do_fetch...
NOTE: Executing do_unpack...
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.
NOTE: Writing buildhistory
NOTE: Executing RunQueue Tasks
NOTE: Executing do_kernel_checkout...
NOTE: Tasks Summary: Attempted 3 tasks of which 2 didn't need to be rerun and all succeeded.
NOTE: Writing buildhistory
NOTE: Patching...
NOTE: Executing RunQueue Tasks
NOTE: Executing do_validate_branches...
NOTE: Executing do_kernel_metadata...
NOTE: Executing do_patch...
NOTE: Tasks Summary: Attempted 6 tasks of which 3 didn't need to be rerun and all succeeded.
NOTE: Writing buildhistory
NOTE: Generating kernel config
NOTE: Executing RunQueue Tasks
NOTE: Executing do_prepare_recipe_sysroot...
NOTE: Executing do_kernel_configme...
NOTE: Executing do_configure...
NOTE: Tasks Summary: Attempted 9 tasks of which 6 didn't need to be rerun and all succeeded.
NOTE: Writing buildhistory
NOTE: Adding local source files to srctree...
NOTE: Copying kernel config to srctree
NOTE: Source tree extracted to /home/paul/poky/poky/build/workspace/sources/linux-intel
NOTE: Recipe linux-intel now set up to build from /home/paul/poky/poky/build/workspace/sources/linux-intel
------------ snip ------------

We should try to tidy up the output and optimise the performance from the tinfoil side of things as much as possible.
Comment 1 Paul Eggleton 2017-07-25 09:44:18 UTC
So this is now fixed with the following changes (and probably some others):

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=a9848fdd46f4f567444e00892a0f5868deea1643
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7eb654cb4d82b54e3e4df0a57face61063b72c45
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=192b2e15369fd052e5e4d5f70c5f5d83d50c2b5b

Running devtool modify on the kernel still takes quite a long time but it's now mostly about the kernel tasks themselves rather than how they are being run.