Linux Kernel Debugging and Performance
A Two Day Course
Course Description
This course is designed to train developers in effective debugging and performance measurement and improvement techniques for the Linux kernel.
Overview
This course walks participants through kernel documentation, kernel configuration, kernel debugging, kernel measurement and other tools.
Course Objectives
After this course attendees will be able to.
- browse the kernel source code
- create and use proc, sysfs, and debugfs files
- use a variety of kernel debugging configuration features
- use GDB with the kernel
- profile the kernel for various performance characteristics
Who Should Attend:
The course is for programmers who are relatively new to Linux kernel debugging and performance measurement and improvement. Attendees should have experience with C and be able to perform Linux commands.
Duration: Two
days. (9AM - 4PM)
Course Materials
The workshop materials include a comprehensive student workbook. The workbook contains all of the slides used in the course as well as hands-on lab exercises.
Students should bring a personal USB thumb drive to use to bring home class files.,
Course Workshop:
The workshop makes use of laptops with a desktop Linux distribution for development.
Students will share a computer with two students per computer. Students work as a team on the laboratory exercises. When delivered via WebEx students should have root access to a computer running Fedora 11. Virtual machines are discouraged.
Course Content:
Linux Kernel Source code and documentation
- Browsing the source
- LXR
- tags
- cscope
- documentation
Lab Exercises
- Find kernel source for various features
- Customize kernel source
- Determine kernel functionality from source and specialized documentation
Kernel Configuration for Debugging and Performance Measurement
- spin lock configuration
- statistics
- lock usage
- debug info
- mutex
- Magic SysRq
- KGDB
- stack
- Memory allocation
Lab Exercises
- Create custom kernel configuration for debugging and measurement
- Enable a variety of debugging features
- Examine features provided by configuration values
- Debug spin lock problems
Filesystems For Debugging
- procfs
- prof files
- creating proc files
- sysfs
- sysfs information
- debugfs
- creating debugfs files
Lab Exercises
- creating proc files
- sysfs and module parameters
- creating and using debugfs files
Kernel Debugging
- GDB and the kernel
- KGDB
- KDB
- printk
- console
- Magic SysRq
- strace
Lab Exercises
- Examining kernel state with GDB.
- Kernel deadlocks
- Kernel memory leaks
- Magic SysRq
- KDB
Kernel Performance
- Interrupt response
- scheduling
- preemption
- rt-preempt
- benchmarking
- tools
Lab Exercises
- LTTng
- oprofile
- page faults
- timer precision
- rt-preempt
Kernel Errors
- oops
- logging daemon
- dmesg
- panic
- dumps and crashes
Lab Exercises
- Working with an Oops
- Working with a panic
Optional:
All attendees will get a Linux laptop to be used during the
class. You have the option of purchasing this laptop with
an additional course fee.
On-site:
If you would like to arrange an on-site
class, please contact us at
classes@linuxcertified.com
Fee:
$1599 per student (includes all class materials)
Public class schedule: Please see dates on our
calendar page.
Enrollment
Form