Profile the Linux kernel with Arm Streamline
Introduction
Profile Linux kernel modules with Arm Streamline
Set up your environment
Build the out-of-tree kernel module
Profile the out-of-tree kernel module
Integrate a custom character device driver into the Linux kernel
Profile the in-tree kernel driver
Use Streamline with the Statistical Profiling Extension
Summary
Next Steps
Profile the Linux kernel with Arm Streamline
Introduction
Profile Linux kernel modules with Arm Streamline
Set up your environment
Build the out-of-tree kernel module
Profile the out-of-tree kernel module
Integrate a custom character device driver into the Linux kernel
Profile the in-tree kernel driver
Use Streamline with the Statistical Profiling Extension
Summary
Next Steps
Who is this for?
This is an advanced topic for developers and performance engineers interested in profiling Linux kernel performance.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Understand why profiling Linux kernel modules is important for performance and stability
- Set up and use Arm Streamline to profile the Linux kernel
- Profile both out-of-tree and in-tree kernel modules on Arm-based systems
- Analyze profiling data to find and address performance bottlenecks
- Use the Statistical Profiling Extension (SPE) for deeper kernel profiling insights
Prerequisites
Before starting, you will need the following:
- Basic understanding of Linux kernel development and module programming
- Arm-based Linux target device (such as a Raspberry Pi, BeagleBone, or similar board) with Secure Shell (SSH) access
- A host machine that meets Buildroot system requirements