Skip to content

Instantly share code, notes, and snippets.

@przemoc
Created January 6, 2023 00:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save przemoc/d1a7204ce1cffc21f31559f54cbab310 to your computer and use it in GitHub Desktop.
Save przemoc/d1a7204ce1cffc21f31559f54cbab310 to your computer and use it in GitHub Desktop.
Linux kernel resources

Linux kernel resources

[PATCH] Kernel probes for i386 2.5.26 [2002-07-20]
[PATCH] Kernel probes for 2.5.30 [2002-08-02]
[PATCH] (re-xmit): kprobes for i386 [2002-08-20]
[patch] kprobes for 2.5.73 with single-stepping out-of-line (follow-ups) [2003-06-24]
[0/3]kprobes-base-268-rc3.patch (follow-ups) [2004-08-05]
[1/3] kprobes-func-args-268-rc3.patch (follow-ups) [2004-08-05]
[2/3] kprobes-netfilter-268-rc3.patch [2004-08-05]
[3/3] kprobes-netpktlog-268-rc3.patch (follow-ups) [2004-08-05]
[0/4] Kprobes patcheshemminger at osdl.org [2004-08-11]
[1/4] Exceptions Notifier patch (follow-ups) [2004-08-11]
[2/4] Kprobes base patch [2004-08-11]
[3/4] Jumper Probes patch to provide function arguments (follow-ups) [2004-08-11]
[4/4] Network packet tracer module using kprobes interface. [2004-08-11]
Linux 2.6.9-rc2 [2004-09-13]
relayfs documentation sucks? [2005-07-16]

Kernel debugging with Kprobes [2004-08-19]
Kernel command using Linux system calls [2007-03-21]
Anatomy of the Linux kernel [2007-06-06]
Anatomy of the Linux slab allocator [2007-05-15]
Anatomy of Linux synchronization methods [2007-10-31]
Anatomy of Linux flash file systems [2008-05-20]
Anatomy of the Linux loadable kernel modules [2008-07-16]
Anatomy of Linux dynamic libraries [2008-08-20]
TASK_KILLABLE: New process state in Linux [2008-09-30]
SystemTap: Instrumenting the Linux Kernel for Analyzing Performance and Functional Problems [2008-12-09]
Anatomy of Linux process management [2008-12-20]
Linux introspection and SystemTap [2009-11-09]
Kernel APIs, Part 1: Invoking user-space applications from the kernel [2010-02-16]
Kernel APIs, Part 2: Deferrable functions, kernel tasklets, and work queues [2010-03-02]
Kernel APIs, Part 3: Timers and lists in the 2.6 kernel [2010-03-30]
Monitor Linux file system events with inotify [2010-04-06]
Anatomy of Linux Kernel Shared Memory [2010-04-07]

Code browsing
Hacking tools
Debug
Memory allocation
Understanding Initcall mechanism
Syscall trace
Changes

Driver porting: The seq_file interface
What every programmer should know about memory
Injecting faults into the kernel [2006-11-14]
On DTrace envy [2007-08-07]
Kernel markers [2007-08-15]
API changes in the 2.6 kernel series [2008-04-29]
A summary of 2.6.26 API changes [2008-06-11]
Kernel Fault injection framework using SystemTap [2008-07-11]
Documentation/ftrace.txt (Function Tracer) [2008-07-16]
Tracing: no shortage of options [2008-07-22]
KS2008: Tracing [2008-09-17]
A SystemTap update [2009-01-21]

Tools

KernInst
LTTng + LTTV
SystemTap
SystemTap GUI

Real Life Examples of Solving Performance Problems Using SystemTap [2006-10-31]
Profiling Desktop Apps [2007-01-20]
Problem Solving with SystemTap [2007-05-09]
Using SystemTap for Dynamic Tracing and Performance Analysis [2007-05-09]
Two ptrace-free ways to virtualize system calls [2007-09-02]
Linux Tips and Tricks for Developers [2007-11-11]
Writing SystemTap Scripts (Melbourne) [2008-01-28]
Dynamic Tracing and Performance Analysis Using SystemTap [2008-08-04]
Kernel support for user debugging: ptrace, utrace, and what's next [2008-09-17]
SystemTap Tutorial [2008-09-18]
Writing SystemTap Scripts (Beijing) [2008-10-19]
Systemtap times [2009-04-13]
Understanding Computer Performance with Systemtap [2009-09-02]

Adventures in real-time performance tuning, part 1 [2008-11]
Adventures in real-time performance tuning, part 2 [2008-11]
Deploying LTTng on Exotic Embedded Architectures (paper) [2009-04]
Dynamic Instrumentation of user-space application based on kprobe [2009-04]
KProbes and Systemtap Status [2009-04]
Building Embedded Linux Systems with Buildroot [2009-04]
Embedded building tools [2009-04]
Analyzing Kernel Function Execution with Ftrace [2009-10]

relayfs: An Efficient Unified Approach for Transmitting Data from Kernel to User Space [2003]
Fault Injection Test Harness [2003]
Evolution in Kernel Debugging using Hardware Virtualization With Xen [2006]
Problem Solving With Systemtap [2006]
The LTTng tracer: A low impact performance and behavior monitor for GNU/Linux [2006]
Probing the Guts of Kprobes [2006]
Ltrace Internals [2007]
Ptrace, Utrace, Uprobes: Lightweight, Dynamic Tracing of User Apps [2007]
Linux Kernel Debugging on Google-sized clusters [2007]
The 7 dwarves: debugging information beyond gdb [2007]
Djprobe -- Kernel probing with the smallest overhead [2007]
LTTng: Tracing across execution layers, from the Hypervisor to user-space [2008]
Performance Inspector Tools with Instruction Tracing and Per-Thread/Function Profiling [2008]
A Runtime Code Modification Method for Application Programs [2008]
Where Linux Kernel Documentation Hides [2008]
Dynamic Debug [2009]
Measuring Function Duration with Ftrace [2009]
Combined Tracing of the Kernel and Applications with LTTng [2009]
Hardware Breakpoint (or watchpoint) usage in the Linux Kernel [2009]

Analyzing System Behavior With Kernel Tracing [2009]
Measuring Function Duration with Ftrace [2009]

LTTng, Filling the Gap Between Kernel Instrumentation and a Widely Usable Kernel Tracer [2009]
utrace: a new in-kernel API for debugging and tracing user tasks [2009]
Uprobes: User-Space Probes [2009]
Ksplice - Rebootless Kernel updates [2009]
KVM: Linux-based Virtualization [2009]
Dynamic Event Tracing in Linux Kernel [2010]
LTTng, State of the Union [2010]
Tracing System Wide, A User Perspective [2010]
Uprobes: User-Space Probes [2010]

Write a Real, Working, Linux Driver [2009]
Effective Use of Kernel Debugging Tools for System Software Product Development [2009]

Who owns the interface? [2008]
Unified error handling -- A worthy goal? [2009]
Challenges with Userspace USB Embedded Device Interfacing [2009]
Out of Memory - Helping Applications Survive the Axe or Report the Aftermath [2009]
Performance Counters on Linux [2009]

Various documents

Kernel Space - User Space Interfaces [2008-07]

Code

Interactive map
Linux technology reference
Linux Cross Reference

Books

Sreekrishnan Venkateswaran, Essential Linux Device Drivers
Wolfgang Mauerer, Professional Linux Kernel Architecture

@przemoc
Copy link
Author

przemoc commented Jan 6, 2023

My old list of linux kernel resources that I think I created in 2008 and maintained up to 2010. It may have some historical value. A lot of links may be defunct now. I may attempt updating it in the future to fix them (provide links to working copies, e.g. from web archives).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment