My journey learning Linux kernel internals and contributing upstream.
Focus: Memory Management, Cgroups, OOM Killer
Current Kernel: 6.18
Started: December 2025
- Understand memory management subsystem
- Reproduce and fix bugs
- Submit 5 patches upstream
- Deep dive into 5 subsystems
| Subsystem | Progress | Status |
|---|---|---|
| Memory Management | 60% | 🟢 Active |
| Cgroups | 40% | 🟢 Active |
| Process Management | 10% | 🟡 Learning |
| Filesystem (VFS) | 5% | 🟡 Learning |
| Networking | 0% | ⚪ Planned |
| Bug | Status | Subsystem | Version |
|---|---|---|---|
| #001 OOM Race | ✅ Reproduced | MM | 2.6.38 |
2025-01-15: Analyzed OOM killer in 6.18
2025-01-14: Traced cgroup creation at boot
2025-01-13: Reproduced 2.6.38 OOM bug
- Total: 2
- This Month: 2
- Latest: Memcg OOM Trigger
- Submitted: 10
- Accepted: updating
- In Review: updating
- In Progress: updating
Kernels Analyzed: 4 (2.6.38, 3.10, 4.19, 6.18)
Subsystems: 5
Code Files Read: 156
Lines of Code: ~15,000
Experiments:
Dmesg Logs:
Bugs Reproduced:
Patches Submitted:
- ✅ Memory Management Basics
- ✅ OOM Killer (2.6.38 → 6.18)
- ✅ Cgroups & Memory Controller
- 🔄 Page Reclaim & LRU
- ⏳ Slab Allocator
- ⏳ Process Scheduler
This is my personal research repo, but feedback welcome!
Last Updated: 2025-10-17