Boot & Resume time measurement and improvements for ARM devices

Registered by Matt Fischer on 2012-10-15

A discussion of how to measure boot & resume time for ARM devices, tools for measurement, and what things can be done to improve the performance of each.

Blueprint information

Status:
Started
Approver:
Steve Langasek
Priority:
High
Drafter:
Matt Fischer
Direction:
Approved
Assignee:
None
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Started
Milestone target:
milestone icon ubuntu-13.04-beta-1
Started by
Steve Langasek on 2012-11-15

Related branches

Sprints

Whiteboard

Boot Time Tools:
bootchart - packaged a fixed version

Bootcharts:
http://people.canonical.com/~achiang/nexus7/

Resume Time Tools:
dmesg - for measuring resume time, is this accurate enough

[vorlon] What does "fixed version" mean here?

Suspend/resume time:
- per-hook execution time patch (not applied by default to avoid overhead in production):
http://anonscm.debian.org/gitweb/?p=collab-maint/pm-utils.git;a=commitdiff;h=d9f8c50c8
- result on Nexus 7 on Quantal: http://people.canonical.com/~pitti/tmp/pm-suspend-nexus7-quantal.txt

(?)

Work Items

Work items:
Measure and improve shutdown time: TODO
[xnox] experiment with ureadahead: POSTPONED
[xnox] check pyo optimisation, .py file optimisation: DONE
[barry] check pyo optimisation, .py file optimisation: DONE
[barry] maybe use py-freeze to speed up python code: DONE
[pitti] add timestamps to pm-utils scripts for the pm-suspend logs: DONE
[pitti] disable pm-utils video quirks on arm: DONE
[pitti] disable pm-powersave call during suspend on arm: DONE
[pitti] review other pm-suspend hooks and check how they can be made faster: DONE
[ogra] see if dropping initrd would improve boot speed (tested, initrd is not avoidable with the nexus7 setup, "noinitrd" is not respected): DONE
[ogra] delay onboard startup after unity loads: TODO
[ogra] make 'DPMS off' the first step in pm-utils: TODO

Dependency tree

* Blueprints in grey have been implemented.