Tero Kristo, Linux kernel developer at Texas Instruments, explains how to debug power management in Embedded Linux at ELCE 2012.
The presentation will talk about debugging various problems a kernel developer can face when working with power management. These include hardware related issues (IC / HW layout bugs, bad documentation) and software related (kernel bugs, driver problems, adding new kernel features, bad userspace behavior.) Along with presenting some of these problems, I will discuss about ways to debug these… power management typically requires specific tools to be used. I will base the discussion on my first hand experience from working with Linux PM. Target audience is (kernel) software developers interested in power management.
The presentation is divided into 3 sections:
- Debugging tools / methods for PM
- Disabling kernel features
- Stress testing
- Tracing (printk / low level UART)
- GPIO / LED trace
- Buffered traces / statistics with trace-cmd & kernelshark
- Kernel power management features
- Suspend – echo mem > /sys/power/state
- Cpuidle – Debug info available at /sys/devices/system/cpu/*/cpuidle/*
- Regulators – Userspace API available at /sys/class/regulator
- Clock framework – Userspace interface: /sys/kernel/debug/clk/*
- Cpufreq – Debug info in /sys/devices/system/cpu/*/cpufreq/*, /sys/class/regulator/* and /sys/kernel/debug/clk/
- Typical power management problems / bugs
- Device crash
- Device malfunction
- Increased power consumption – Can be kernel, hardware or userspace issues
You can download the slides for this presentation, and you may also want to have a look at Powertop & Powerdebug for Linux power management debugging.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.