1. mm v7.3-rc1

    改用 walk_page_range_vma() 消除 find_vma()

    walk_page_range() 每次页表遍历都做一次 find_vma(),对已知单 VMA 范围的调用方属冗余;mincore、mprotect、mlock、migrate_device 四处改用 walk_page_range_vma()

  2. mm 未合并

    避免碎片化下的 reclaim 与 eviction 循环

    把可失败分配意图传给 shrinker 使其跳过无益驱逐,打断碎片化下的回收驱逐循环,WebGL 帧率约升 5 倍

  3. mm 未合并

    vmalloc 的 vmap_area 索引从 rbtree 迁移到 maple_tree

    把 vmap_area 索引从红黑树迁到 maple tree 使区间查询原生化并减少缓存行触碰,饱和吞吐提升约 65%

  4. mm v7.3-rc1

    memcg slab 回收跳过非 memcg 感知的 nr_cached_objects

    给非 memcg 感知的文件系统钩子加 memcg 闸门,使其只在全局回收路径放行,消除逐组冗余调用并堵住跨组回收 inode

  5. mm v7.3-rc1

    swap readahead 移除不必要的 lru_add_drain

    移除 swap readahead 结尾无调用者依赖的 LRU 刷洗、改由 per-CPU 批次自然排走,消除每分钟约 2.8 万次冗余锁流量

  6. mm v7.2-rc1

    khugepaged 支持 mTHP 折叠

    khugepaged 改用 bitmap 记录整段占用并按对齐子段挑最大可用 mTHP 折叠,兑现此前流失的中等大页,降低 TLB 未命中

  7. mm v7.2-rc1

    simple xattr 改进

    让 simple_xattr 哈希表整个 superblock 共享来摊薄固定开销,单属性内存占用降回约 111 字节

  1. mm v7.2-rc1

    将 compact_gap 封顶于 COMPACT_CLUSTER_MAX

    把 compact_gap 封顶于 compaction 单批隔离容量,让 kswapd 更早把高阶回收交班 compaction,生产主机扫描量降约 70%

  2. mm v7.2-rc1

    改进可执行内存的 large folio 预读

    让可执行映射跳过投机节流计数并放宽强制预读阶门槛,恢复被永久禁用的 large folio 预读,cold fault 快约 50%

  3. mm 未合并

    削减 xarray 查找并用 folio batching 优化 shmem 读

    削减 shmem 读的多余 xarray 查找,用大块填零与 folio batching 摊薄逐页开销,大块读吞吐最高提升约 42%

  4. mm v7.2-rc1

    批量处理 partial slab 链表操作

    SLUB 批量取 slab 时追踪连续 slab 段整段搬移、只改两端指针,缩减自旋锁临界区指针改写,mmap 压测吞吐提升约 5%

  5. mm v7.2-rc1

    THP shrinker 改用 list_lru

    改用节点与 cgroup 交集的 list_lru 组织 THP 延迟分裂队列,让节点受限回收只扫目标节点,避免误分裂、保留更多 THP

  6. mm 未合并

    优化匿名 large folio 的取消映射

    匿名 large folio 换出时一次清空并重设整批 swap PTE,让 TLB flush 随批量下降,arm64 换出耗时减半

  7. mm v7.2-rc1

    缩小 obj_stock_pcp 并缓存多个 objcg

    让 per-CPU 计费缓存多槽并存使各 NUMA 节点变体同时驻留,免去跨节点反复清空重填,修复约 68% 吞吐回归