optimise cpuidle menu governor for hardware assisted idling

Registered by Rob

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:
milestone icon backlog
Completed by
Serge Broslavsky

Related branches

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

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.