No less than 13 Bootlin engineers attended the Open Source Summit Europe 2024 in Vienna earlier this month, and two Bootlin engineers gave talks at this conference, keeping with Bootlin’s long standing tradition of sharing knowledge with our peers of the broader embedded Linux community.
In this blog post, we’re happy to share the slides and videos of the two talks we have during this event: Linux Power Management Features, Their Relationships and Interactions and Inspecting and Optimizing Memory Usage in Linux
Linux Power Management Features, Their Relationships and Interactions
Talk given by Théo Lebrun.
Over time, many features have been introduced into the Linux kernel to tackle various Power Management related needs. Most features rely upon the device model to provide its features, making each feature in isolation have rather understandable behavior and straight forward APIs. Complexity can creep in however when those various features interact with each other. We’ll therefore cover features in isolation: system-wide suspend, hibernation, runtime power management, power domains, Quality of Service, etc. On each new step added, we’ll stop to reflect on potential interactions or conflicts with previously seen features. Some of those will come from concrete issues encountered during the upstreaming effort of Suspend-to-RAM support on an automative SoC, the TI J7200 platform.
Inspecting and Optimizing Memory Usage in Linux
Talk given by João Marcos Costa.
Considering a context where the hardware platform disposes of a restricted amount of RAM, developers need to understand how this resource is managed and consumed by the operating system and the applications running on it. In such situations, it is crucial to use the right metrics and tooling to identify which components are excessively allocating resources, trim them down, and finally get close to the strict necessary memory usage without compromising essential features. This presentation explores RAM management in the Linux kernel, focusing on how much memory is allocated across different areas and for what purposes. From a kernel space perspective, it will dive into the components of memory reserved in early boot. Considering the user space perspective, the presentation will explain how much memory is used by processes, both individually and collectively.