cpuidle : write a tool to investigate the behavior of the idle

Registered by Daniel Lezcano on 2013-04-03

This Blueprint has been moved to JIRA: https://cards.linaro.org:8443/browse/PMWG-20

[daniel-lezcano, 2012-11-29] There are some areas of investigations on how to improve cluster shutdown. First we need a tool to check the improvements made for the cluster shutdown, let's call it "idlestat". After this we can prototype some modifications in the kernel and measure the improvements.

[daniel-lezcano, 2012-12-07] It is important to understand how behaves the system before trying to improve anything else. The first step is to dig into the /proc/interrupts file and identify why and when the interrupts occur, most of them are trivial but other are not.

[daniel-lezcano, 2012-12-07] The wiki page has been created to document the wakeup sources. https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/WakeUpSources

Blueprint information

Status:
Complete
Approver:
Amit Kucheria
Priority:
Medium
Drafter:
Daniel Lezcano
Direction:
Approved
Assignee:
Daniel Lezcano
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon 2013.05
Started by
Amit Kucheria on 2013-04-04
Completed by
Serge Broslavsky on 2013-08-27

Related branches

Sprints

Whiteboard

[daniel-lezcano, 2012-11-29] There are some areas of investigations on how to improve cluster shutdown. First we need a tool to check the improvements made for the cluster shutdown, let's call it "idlestat". After this we can prototype some modifications in the kernel and measure the improvements.

[daniel-lezcano, 2012-12-07] It is important to understand how behaves the system before trying to improve anything else. The first step is to dig into the /proc/interrupts file and identify why and when the interrupts occur, most of them are trivial but other are not.

[daniel-lezcano, 2012-12-07] The wiki page has been created to document the wakeup sources. https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/WakeUpSources

(?)

Work Items

Work items for 2012.12:
[daniel-lezcano] : parse a ftrace file and load data : DONE
[daniel-lezcano] : do statistics on average, min, max time on the fly : DONE
[daniel-lezcano] : compute intersection intervals : DONE
[daniel-lezcano] : optimize intersection algorithm for memory : DONE
[daniel-lezcano] : optimize intersection algorithm for speed : DONE
[daniel-lezcano] : do statistics on intersections on the fly : DONE
[daniel-lezcano] : display results: DONE
[daniel-lezcano] : add options to the command line : DONE
[daniel-lezcano] : add a cstate options to filter results : DONE
[daniel-lezcano] : check plotting against intervals : DONE
[daniel-lezcano] : create a wiki page the wakeup source and fill it step by step : DONE
[daniel-lezcano] : describe timer interrupt : DONE

Work items for 2013.02:
[daniel-lezcano] : describe local timer interrupt : DONE
[daniel-lezcano] : identify source of timer wakeup : DONE
[daniel-lezcano] : identify reasons of wakeup for an unused cpu : DONE
[daniel-lezcano] : investigate idle task renice : DONE

Work items for 2013.06:
[b-cousson] : use cpu topology to deduce packages : INPROGRESS
[b-cousson] : remove usage of trace-cmd and do acquisition from idlestat : INPROGRESS

Work items for backlog:
[b-cousson] : use first event after entering an idle state for exiting idle state : TODO
[b-cousson] : find source of wakeup (irq #, IPI) : TODO

This blueprint contains Public information 
Everyone can see this information.