Professional deep-dive training into Linux kernel internals. Hands-on modules with real machine traces.
| # | Module | Lesson | Topics |
|---|---|---|---|
| 1 | Memory Fundamentals | Lesson 01 | Page tables, CR3, TLB, PCID, VMA |
| 2 | Page Fault Handling | Lesson 02 | do_page_fault, handle_mm_fault, error codes |
| 3 | Memory Allocators | Lesson 03 | Buddy allocator, Slab, GFP flags |
| 4 | struct page Deep Dive | Lesson 04 | Page flags, refcounting, mapping field |
| 5 | Advanced Memory | Lesson 05 | LRU, mlock, anonymous pages, page cache |
| 6 | Kprobe Tracing | Lesson 06 | register_kprobe, pt_regs, handler writing |
| 7 | Network Stack Tracing | Lesson 07 | sk_buff, copy_from_iter, double copy |
| 8 | RDMA Fundamentals | Lesson 08 | ibv_reg_mr, zero-copy, queue pairs |
| 9 | Maple Tree & VMA | Lesson 09 | VMA lookup, address space, maple tree |
| 10 | NUMA & Zones | Lesson 10 | NUMA nodes, memory zones, fallback |
┌─────────────────────────────────────────────────────────────────────┐
│ LESSON STRUCTURE │
│ │
│ 1. Core Concepts with ASCII Diagrams │
│ 2. Kernel Code Examples (with file:line references) │
│ 3. Userspace Examples (compilable C programs) │
│ 4. AXIOMATIC EXERCISES — fill-in-the-blank calculations │
│ 5. W-QUESTIONS — What/Why/Where/Who/When/Without/Which │
│ 6. ANNOYING CALCULATIONS — step-by-step numerical breakdowns │
│ 7. SHELL COMMANDS — paradoxical thinking with real commands │
│ 8. FAILURE PREDICTIONS — common mistakes and how to avoid │
└─────────────────────────────────────────────────────────────────────┘
Every concept is:
# Clone the repository
git clone https://github.com/raikrahul/linux_training.git
cd linux_training
# Start with Lesson 01
cat module_01_memory_fundamentals/lesson_01.md
Built on Linux 6.14+ x86_64. All data from real machine traces.