Optimizing Linux Device Drivers for Power Efficiency (LFD432)


Course Overview

Learn how to develop and enhance power-efficient device drivers for Linux systems.

Who should attend

This course is for Linux developers interested in learning how to write Linux device drivers with robust power management features. Students should be proficient in the C programming language, be familiar with the basic Linux kernel development environment and have some knowledge of kernel internals, have experience with Linux device drivers, and be comfortable developing in a Linux environment.


You should:

  • Be proficient in the C programming language.
  • Be familiar with the basic Linux kernel development environment and have some knowledge of kernel internals.
  • Have an understanding of Linux device drivers and experience in developing them, equivalent to have already taken LFD331, Developing Linux Device Drivers.
  • Know the basics of compiling and linking programs, constructing Makefiles, etc.; i.e. be comfortable doing application developing in a Linux or UNIX environment.
  • Experience with any major Linux distribution is helpful but not strictly required.

Course Objectives

Optimizing Linux Device Drivers for Power Efficiency is designed to show experienced programmers how to develop/enhance power efficient device drivers for Linux systems.

Upon mastering this material, you will be familiar with the power management infrastructure and code used under Linux, and know the appropriate APIs.

The information in this course will work with any major Linux distribution.

Course Content

  • 01: Introduction
  • 02: Procedures and Documentation
  • 03: Power Management Overview
  • 04: The Linux Kernel View of Power Management
  • 05: Power Management in Android
  • 06: Notifiers**
  • 07: CPU Frequency Scaling**
  • 08: CPU Idle
  • 09: Ftrace
  • 10: Perf
  • 11: Measuring Power Usage and Latencies
  • 12: Debugging power usage
  • 13: Crash
  • 14: Kernel Core Dumps
  • 15: System-wide Power Management
  • 16: Runtime Power Management
  • 17: Common clock framework **
  • 18: Regulator framework **
  • 19: Retrofit for PM
  • 20: Optimize for PM
  • 21: Summary and Lookout

** These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.

Classroom Training

Duration 4 days

Click on town name to book Schedule
Middle East

Fast Lane Flex™ Classroom If you can't find a suitable date, don't forget to check our world-wide FLEX™ training schedule.

16/09/2019 - 19/09/2019 Munich
23/09/2019 - 26/09/2019 Münster
14/10/2019 - 17/10/2019 Hamburg
11/11/2019 - 14/11/2019 Düsseldorf
02/12/2019 - 05/12/2019 Berlin
06/01/2020 - 09/01/2020 Munich
27/01/2020 - 30/01/2020 Münster
24/02/2020 - 27/02/2020 Hamburg
16/09/2019 - 19/09/2019 Vienna (iTLS)
02/12/2019 - 05/12/2019 Vienna (iTLS)
23/09/2019 - 26/09/2019 FLEX training This is an English language FLEX course.
Time zone: Europe/Budapest
30/09/2019 - 03/10/2019 Zurich
This is a FLEX course, which is delivered both virtually and in the classroom.