optimise cpuidle menu governor for hardware assisted idling
NOTE: no members have such hardware and this Blueprint is not being worked on unless the situation changes.
Upon first inspection of the linux kernel cpuidle, it appears that the menu governor (always used for tickless mode) makes some heavy calculations that may not always be necessary for all platforms. Particular at low clock speeds, a device may want to avoid making these calculations. An examination of the processing required for these calculations (and the related energy required) will be done and if found to be significant, an runtime option to avoid these calculations will be added.
Blueprint information
- Status:
- Complete
- Approver:
- Amit Kucheria
- Priority:
- Low
- Drafter:
- Rob
- Direction:
- Approved
- Assignee:
- Daniel Lezcano
- Definition:
- Obsolete
- Series goal:
- Accepted for trunk
- Implementation:
- Not started
- Milestone target:
- backlog
- Started by
- Completed by
- Serge Broslavsky
Related branches
Related bugs
Sprints
Whiteboard
Headline:
Investigate the cpuidle menu governor for potential power reduction opportunities and report on findings and implement and submitt optimizations as needed.
Acceptance:
Changes submitted to mainline and reviewed
Discuss findings with Linaro PMWG and to the Linux-pm mailist and the cpuidle maintainers: TODO
Push optimized changes to mainline: TODO
-------
Test Description:
On a default kernel build using a Linaro Ubuntu developer filesystem, after bootup is complete and system is mostly idle, run a test program that periodically wakes up to exercise the cpuidle system.
Results:
Wakeup period of ~1.05ms: ~1mW power reduction.
Wakeup period of ~10.05ms: ~.3mW power reduction.
Wakeup period of ~100ms: no significant power reduction.
Work Items
Work items:
Investigate possible optimisations to menu governor in case of HW assisted transitions: INPROGRESS