1. mm v7.2-rc1

    用 folio_mark_accessed 取代 folio_set_active

    改用标记被访问而非设活跃让 readahead 带入的 cold folio 从次旧 generation 起步,不再挤占内存,系统态耗时降约 10%

  2. mm v7.2-rc1

    优化 partial refill 后返回对象的路径

    为 SLUB refill 后的剩余对象返回加乐观路径,利用 slab 刚取走空闲链表大概率无人改动直接整段接回,省去回填冷缓存行的开销

  3. mm v7.2-rc1

    修复 defrag_mode 对不可回收分配的处理

    清除不可回收分配慢路径残留的不碎片化标志、放开回退到其它迁移类型,避免 13 GB 空闲下仍分配失败致网络丢包

  4. mm v7.2-rc1

    vrealloc 缩小时释放多余物理页

    vrealloc 缩小时跨页边界取消映射并归还尾部页,让 vmalloc 占用紧贴实际使用量、不再白占至 vfree

  5. mm v7.2-rc1

    移除 READ_ONLY_THP_FOR_FS 并为可写文件启用 file THP

    移除只读配置让 file THP 的 3 条创建路径对可写文件全打通,扩大文件大页覆盖面并降低 TLB 未命中

  6. mm v7.2-rc1

    swap table 第四阶段统一分配与降低静态元数据

    把分散 swap 元数据收敛进统一 swap 表、分配计费合并为单一路径,1TB swap 静态元数据省约 512MB

  7. mm v7.2-rc1

    用 RWF_DONTCACHE 提升写性能

    把 DONTCACHE 写的回写从写者内联转交后台 flusher 并用 per-bdi 脏页计数器限定范围,让顺序写吞吐提升约 3 倍

  1. mm v7.2-rc1

    EOF 处不再设置 PG_readahead

    让预读抵达 EOF 即不再设标记,消除空转的异步预读并让末页纳入 mmap 批量映射

  2. mm v7.2-rc1

    用 per-ctx 无锁 PRNG 取代 damon_rand

    把 DAMON 采样热路径的加密级带锁随机数换成每上下文单个无锁 PRNG,区域数 2 万时 kdamond 单核占用从约 72% 降到 50%

  3. mm v7.2-rc1

    把 freelist 构建推迟到新 slab 批量分配之后

    SLUB 把新 slab freelist 构建推迟到对象发完之后只为剩余对象构建,省去分配期建好即弃的浪费,分配时间降约 42%~70%

  4. mm v7.2-rc1

    改进 MGLRU 回收循环与脏 folio 处理

    在 MGLRU 回收循环起始一次算清扫描预算并解耦老化、把脏页冲刷移入循环,让 MongoDB 吞吐提升约 36%

  5. mm v7.2-rc1

    收紧 mmap_miss 命中计数

    收紧未命中计数只计真正命中、不计缺页重试,让随机访问不再被误判为顺序,无用预读从数百 GiB 降到约 1 GiB

  6. mm v7.2-rc1

    lru_add 排空时预先释放 dead folio

    在 lru_add 排空前拣出死 folio 直接释放而不进 LRU,每机每分钟省约 260 万次 lruvec 锁获取

  7. mm v7.2-rc1

    用批量清零替代 kernel_init_pages

    把 init_on_alloc 的逐页临时映射清零改为整段批量清零,16GB HugeTLB 分配快约 2.7 倍