[Paper] - An Evolutionary Study of Linux Memory Management for Fun and Profit
Memory management主要的功能是page mapping, memory protection, and sharing, 但隨著時間不斷的演進已經算是kernel裡不小的subsystem. 這份研究分析2009~2015年之間4587筆有關memory management(mm)的patches, Linux版本由v2.6.32.1 ~ v4.0-rc4. Source: An Evolutionary Study of Linux Memory Management for Fun and Profit Memory Bugs 5種bugs存在mm: memory error, checking, concurrency, logic and programming. 透過heat map可清楚看到主要bug發生地方 主要的bug fix在: Memory Allocation, Garbage Collection (GC), Virtual Memory Management. 大部份memory leak並不是因為忘了free, 而是錯誤的page fault handling和 free page的計算. MM較大的問題是很難去track正確的狀態. Memory optimization 定義3種optimization patches data structure: 避免nested data structure. Scalability的實現, scalability問題是因為locking for atomic access to shared data structures....