Bug 11188 - devtool: optimise task execution
Summary: devtool: optimise task execution
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: Scripts and Tools (show other bugs)
Version: 2.2
Hardware: All Multiple
: Medium enhancement
Target Milestone: 2.4 M2
Assignee: Paul Eggleton
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2017-03-20 04:23 UTC by Paul Eggleton
Modified: 2017-07-25 09:44 UTC (History)
1 user (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.