Example code for tracing IRQs in Linux kernel
C Assembly C++ Makefile Perl Objective-C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Documentation
arch
block
certs
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
README.md
REPORTING-BUGS
localversion-rt

README.md

irq-tracing

Example code for tracing IRQs in Linux kernel Posted as part of Embedded Linux Conference talk, Tuesday, October 11, 2016, "IRQs: the Hard, the Soft, the Threaded and the Preemptible", http://sched.co/7rrr

Tested on Boundary Devices Nitrogren i.MX6Q board with 4.4.4-rt11 kernel, but should work as intended on any recent PREEMPT_RT_FULL kernel with pinned Ethernet and CAN IRQs.

To trigger NAPI path of execution, I did the following: -- started two instances of 'ping -f '; -- ran a shell command that triggers dozens of scp's of a large file: while true; do scp /boot/vmlinuz root@:/tmp; done After about 30 seconds, the kprobe indicating NAPI path is hit.

I'd like to declare a license of GPLv2 or greater for this code, like the upstream Linux kernel, but apparently Github does not permit this.