ARM platforms often supports sophisticated power management, to for example allow unused parts on a running system, to be put into low power states, which prevents energy from being drained.
However, it can be a rather complicated task to deploy optimized power management support in a driver in the Linux kernel, especially when it comes to idle management. A couple of frameworks are there to help and these comes with corresponding callback functions, that may be assigned on per device basis. The driver developer needs detailed knowledge about these frameworks, especially when the goal is to reach the best possible energy efficient behavior.
In this session, we look into the concepts for system wide suspend and the corresponding low power states, such as suspend to ram, suspend to idle and suspend to disk.
Additionally, for more fine grained power management per device, some best practices are explained of how to deploy support for runtime PM and PM domains (in particular the generic PM domain) .
Senior Kernel Engineer (Linaro)
Ulf has a very long experience of using Linux and has been contributing the Linux kernel development for many years by now. He maintains the MMC subsystem and the generic PM domain in the Linux kernel, but also spends lots of time reviewing various changes related to power management and to their corresponding frameworks.
Moreover, Ulf has a background in real-time and embedded systems. He also has an in-depth knowledge about flash memory technologies, such as NAND and NOR.
Ulf is working for Linaro and specializing in power management.