1. mm v7.0

    恢复 balance_dirty_pages 的无条件回写启动

    恢复脏页平衡例程在节流期间无条件启动回写的兜底逻辑,让限流等待时回写常在,fuse 缓冲写吞吐回归约 700 倍

  2. mm v7.1-rc2

    按 per-wb 阈值为 strictlimit BDI 启动背景回写

    为 strictlimit 设备补 per-wb 阈值检查在撞墙前启动回写,让写者少撞限流墙,fuse 缓存写吞吐提升约 4%

  3. mm v7.1-rc1

    阻止 MGLRU 回收 pin 住地址空间

    让 MGLRU 回收时只稳定 mm 结构而不 pin 地址空间,使被杀进程的内存得以及时回收、oom-reaper 不再误判跳过

  4. mm v7.1-rc1

    PCP 分配后不再扩大 highatomic 预留

    高阶原子分配经 per-CPU 缓存命中后不再无谓扩大预留,把扩展移到真正需要它的伙伴路径,使预留回到正常水位、不再挤占正常分配

  5. mm v7.1-rc1

    移除 should_abort_scan 的 root_reclaim 检查

    移除 MGLRU 回收中已过时的组间公平检查让 memory.reclaim 达标即退出,消除约 12 倍过度回收

  6. mm v7.1-rc1

    迁移后把目的 folio 重新入队延迟分裂队列

    让 folio 迁移在成功后按源页状态把目的页重新入延迟分裂队列,避免 NUMA 迁移后未充分使用的 THP 静默脱队无法回收

  7. mm v7.1-rc1

    让 sheaves 支持无内存节点

    为所有在线节点建仓让 SLUB per-CPU 缓存覆盖无内存 NUMA 节点,使这些节点的分配与释放都走快路径,消除慢路径回归

  1. mm v7.1-rc1

    nokmem 时不为 cgroup 分配 shrinker 信息

    cgroup.memory 为 nokmem 时跳过 per-memcg shrinker 数据分配,省下无活 shrinker 白占的内存并消除随 memcg 数增长的持锁开销

  2. mm v7.1-rc1

    为 MGLRU 支持批量检查 young 标志

    改为整批表项一次处理 young 标志,让 MGLRU 回收与 generation 更新都走批量路径,8G 文件页回收耗时下降逾 60%

  3. mm v7.1-rc1

    消除垂死内存 cgroup

    LRU folio 改对 object cgroup 记账而不再钉住原 memcg,让用户弃用的 cgroup 及时释放,消除垂死 memcg 堆积的内存浪费与回收拖累

  4. mm v7.0-rc3

    阻塞不被允许时也允许 sheaf refill

    只要允许自旋就给 mempool 的空 sheaf refill 对象,让 I/O 负载恢复快路径免回退慢路径

  5. mm v7.1-rc1

    批量分配失败时用 RCU 宽限期替代 IPI 广播

    把页表释放批量分配失败时的 IPI 广播换成等待 RCU 宽限期,提供同等同步保证却不打断任何 CPU

  6. mm v7.1-rc1

    改进 khugepaged 扫描逻辑

    按实际扫描页数计量进度并跳过 lazy-free folio,让 khugepaged 优先合并频繁访问的内存,显著降低无效 CPU 开销与 dTLB 未命中,单轮扫描时间从 419s 降至 20s

  7. mm v7.1-rc1

    swap table 第三阶段移除 swap_map

    改由 swap table 直接承担引用计数并移除随设备线性增长的静态数组,消除双重更新,挂 1TB 设备省约 256MB