1. mm v7.4-rc1

    v1 不可用时 memcg 跳过非层级统计更新

    memcg 非层级统计数组只有 v1 接口会读,CONFIG_MEMCG_V1=n 时从结构体编译移除,cgroup_no_v1= 封锁 memory 时 flush 取空指针跳过更新,整体 flush 耗时降低 2.2%

  2. mm 未合并

    PTE 映射下 mmap 写的 sub-folio 脏页跟踪

    借 folio_mkclean() 的 rmap 遍历回收 PTE 硬件脏位并逐段传给文件系统,缺页路径不再提前置脏整 folio,XFS 上 large folio 每个 folio 写一字节后 msync 的回写量从 512M 降至 1M

  3. mm v7.4-rc1

    memblock 用二分查找定位候选区域

    memblock_add_range() 与 memblock_isolate_range() 从 index 0 线性扫描改为二分定位第一个可能相交的 region,KHO 恢复 393k 页保留内存的耗时从约 268s 降至约 50ms

  4. dma v7.4-rc1

    DMA 页分配改用精确分配

    DMA 页分配的 buddy 回退从 get_order 整块分配改为 alloc_pages_exact_nid() 精确分配,非 2 的幂请求不再把取整后的尾部页一并占住

  5. mm 未合并

    把 guest_memfd 后备内存绑定到 NUMA 节点

    新增 GUEST_MEMFD_FLAG_BIND_NODE 创建标志,KVM 创建时为指定节点构建 MPOL_BIND 策略并装到整个 guest_memfd inode,不可映射的机密 guest_memfd 也能把全部 folio 落到指定节点

  6. mm v7.4-rc1

    清理 folio 计数器与 flag 用法

    把 MGLRU 散落的 open-coded 位操作收编为带 debug 检查的 helper,lru_zone_size 改用带符号计数并把下溢检查挪到读侧,收编过程暴露并修复潜伏四年的 generation 计数泄漏

  7. mm 未合并

    分离迁移路径并携带迁移策略

    migrate_pages 混合处理三类页改为按类分离三个迁移入口,LRU 批处理收进 LRU 引擎,新增调用者栈上的 migrate_control 把 mode 与 reason 一路带到 ->migrate_folio(),为缓存提示等策略维度留扩展点

  1. mm 未合并

    在 default hierarchy 上跳过非层级的 memcg 统计

    非层级 memcg 统计只服务 legacy v1 接口,default hierarchy 上只写不读,改为运行时判定跳过写入、迁回 v1 时从层级数组补齐,rstat flush 的 memcg 范围聚合降 4.1%

  2. mm v7.4-rc1

    DAMON 支持 hugetlb 内存的访问监控

    paddr 监控接纳 hugetlb folio,rmap walker 按整页 aging 并经 secondary MMU 拿到 guest 访问位;信号真实度修复(aging_flush)拆出,待量化数据补齐后另发

  3. mm 未合并

    在 refault 压力下动态保护 readahead fault folio

    引入 per-lruvec readahead/refault credit,file refault 累积 credit,fault 路径 file folio 消耗 credit 换活跃保护,Cassandra 读 p99 从约 9.2-9.5 ms 回落至约 5.8 ms

  4. mm 未合并

    修复超额扫描与 ineligible folio 扫描

    超额扫描计入扫描预算避免反复重扫,ineligible folio 一轮内跳过数量达到上限后停扫而非强制隔离,回收进度不再虚增,OOM 按时触发

  5. mm 未合并

    移除针对 THP 的 min_free_kbytes 调整

    移除为 THP 抬高 min_free_kbytes 的启发式与全部重算路径,min_free_kbytes 只由页分配器默认计算与 vm.min_free_kbytes sysctl 控制

  6. mm v7.4-rc1

    加速 MGLRU 的 inc_min_seq() 并修复 cold/hot inversion

    inc_min_seq() 的计数与搬移批量化,并修复两处 cold/hot inversion,512MB lruvec 单次 aging 平均耗时从 4.990 ms 降至 2.343 ms,arm64 PTE 路径从 7.644 ms 降至 2.964 ms

  7. mm v7.4-rc1

    引入基于 autotuning 的 huge page collapsing 机制

    DAMON 新增 hugepage_mem_bp metric 测 huge page 占比,复用 autotuning 调 quota,占比收敛至 10.26%(目标 10%)