Power Management on Linux: From the Hardware to the Kernel and User Space Interfaces
Power management on modern hardware is quite complex. There are so many concepts and features provided by the hardware like frequency scaling, idle states, wake-up sources, sleep states, suspend-to-RAM, hibernation, etc! All this needs to be abstracted so kernel and user space code can properly manage power consumption.
In this talk, we will deep dive into all these concepts, from the resources provided by the hardware to standard and portable software interfaces provided by the kernel and consumed by device drivers and user space applications, including tools and techniques to monitor and improve power consumption on an embedded Linux system.