Describe WorkingGroups/PowerManagement/Resources/How-To-PM-debugging here.

This Wiki is about to collect PM related tools or ways.

1. Virtualization activity of suspend and resume( from pm-graph)

Location: https://github.com/01org/pm-graph/blob/master/analyze_suspend.py

Optimizing the performance of suspend/resume has become extremely important because the more time spent entering and exiting low power modes, the less the system can be in use. Using a kernel image, built with a few extra options enabled the tool will execute a suspend, and will capture dmesg and ftrace data from suspend start to resume completion. This data is transformed into a set of timelines and callgraphs to give a quick and detailed view of which devices and kernel processes are taking the most time in suspend/resume. The output of the tool is a single html file which makes use of embedded CSS and JavaScript to create the timelines and callgraphs. The file can be viewed in any Linux browser, such as Firefox or Chromium.

2. Virtualization of boot process

Location: https://github.com/01org/pm-graph/blob/master/analyze_boot.py

This tool reuses a lot from analyze_suspend.py, but it focuses on the Linux boot up. It tracks the boot activity, such as initcalls.

3.Virtualization of PM activities and Power data

Location: https://github.com/arnoldlu/pm-debug.git

This tool focuses on analyzing power consumption along with kernel PM related activities, such as irq, wakeup source, cpuidle and cpufreq.

1. Get raw data

  • 1.1 Capture power data from power supply 1.2 Capture trace events sync with power data, with trace events filter enabled

2. Analyzing data

  • 2.1 Add an offset to power data capture time to show power data and ftrace in the same timeline. 2.2 Analyze the ftrace data to figure out the kernel PM related activities

3. Output analyzing

  • 3.1 Show power data curve and PM activities in the same timeline chart

power.svg

  • 3.2 Output a summary of the test

summary.csv

With this tool, we can know which interrupt triggers the resume, which process holds the wakeup source and how long, the current cpuidle status, the frequency of CPU, then compare it with power consumption curve.

WorkingGroups/PowerManagement/Resources/How-To-PM-debugging (last modified 2017-09-07 00:45:28)