1. mm v7.4-rc1

    在 per-VMA lock 下读取 smaps_rollup

    smaps_rollup 改用 RCU 加 per-VMA read lock 读取,不再全程持 mmap_lock 遍历 VMA 与页表,保留竞争回退与 VMA 合并后的续扫处理;竞争基准下中位延迟 0.174 降至 0.007 秒,最差延迟 5.220 降至 3.225 秒

  2. mm 未合并

    让 mTHP 在无 PMD 大页的架构上保持启用

    引入 pgtable_has_pmd_leaves() static key API 查询 PMD 大页支持,替换名不副实的 has_transparent_hugepage() 与 thp_disabled_by_hw();让 mTHP 在无 PMD 大页的架构上保持启用,运行时仅屏蔽 PMD 与 PUD 尺寸。

  3. mm 未合并

    基于 priority 的 swap tier 与 per-cgroup 选择

    把 swap priority 本身建模为 tier,设备列表收进 tier 按 tier 顺序分配,memcg 经 debugfs 位掩码选择自己的 tier,重构无用户可见变化,为 per-priority allocation queue 等后续工作打底

  4. mm v7.4-rc1

    停止在 interleave 路径上拷贝状态

    interleave 的节点选择器与批量分配器不再在 fault 路径拷贝 nodemask 与节点权重表,权重表改用 SRCU 就地遍历,nodemask 直接遍历并补边界检查,热点函数栈占用降 62% 至 81%

  5. mm 未合并

    forced readahead 改用 large folio

    page_cache_ra_unbounded() 改为扫描 xarray 按前方空缺区间分配最大可用 folio,large folio 不带 __GFP_RECLAIM 故碎片化内存零回收代价,fio randread 256k 吞吐 2,226 提升至 2,753 MB/s

  6. mm 未合并

    可随负载伸缩的无后备存储 swap 设备 xswap

    新增无后备存储的 xswap 设备,换出页只存于 zswap,cluster_info 数组驻留在 VM_SPARSE vmalloc 区域随用量按需增长与收缩,空闲设备零元数据成本,吞吐与 plain swap+zswap 差距 2-3% 以内,不创建设备时指令开销差 ±0.1% 以内

  7. mm v7.4-rc1

    把 lruvec 统计挪出 xarray 锁

    把 __filemap_add_folio() 的 lruvec 统计移出 xa_lock 关中断临界区,缩短 page cache 插入路径的持锁时间,生产采样中该函数最热调用栈占总锁等待 14%

  1. mm 未合并

    把 stock 从 mem_cgroup 下沉到 page_counter

    把带 7 个槽位的 per-cpu charge stock 原样沉入 page_counter 层,槽位改记 page_counter,memory 与 memsw 各自独立 stock,v2 用户行为全保留,为 memcg 新增计数器铺平 fast path

  2. mm v7.4-rc1

    mincore 页表遍历改用 per-VMA 锁

    mincore 走页表查询页驻留时,从持有进程全局 mmap_lock 读锁改为只持有目标 VMA 的 per-VMA 读锁,只读查询不再争抢全局锁

  3. mm 未合并

    vrealloc 扩容时原地映射新增物理页

    vrealloc 扩容超出已映射页数时,在现有虚拟地址范围尾部原地分配并映射新物理页,避免全量重分配与 O(n) 数据拷贝,失败回退旧路径

  4. mm 未合并

    hibernation 镜像的 swap 槽位连续分配与批量 I/O

    hibernation 写镜像时把空闲 swap cluster 按盘序整段发给镜像,再按连续段批量读写 I/O,5G 镜像写入时间降 18% 到 25%,读取降 11% 到 20%

  5. mm v7.3-rc6

    shmem 强制 collapse 忽略 sysfs 配置

    匿名 shmem 上的 MADV_COLLAPSE 强制 collapse 直接返回全局判定的 PMD 级 order,不再落入每尺寸 shmem_enabled 掩码合成,恢复文档承诺的忽略 sysfs 配置语义,消除强制 collapse 意外失败导致的用户可见性能回退

  6. mm v7.4-rc1

    esz 低于 min_region_sz 时短路跳过 min_score 计算

    DAMOS 的 effective size quota 低于 min_region_sz 时,min_score 在本 charge window 内不会被使用,damos_adjust_quota() 却仍遍历全部 region 计算它,该补丁在 min_score 计算前增加配额已满的短路检查提前返回

  7. mm 未合并

    传统 LRU 对隔离期间完成回写的 folio 重试回收

    把 MGLRU 已有的「隔离期间完成回写的 folio 重试回收」逻辑抽成公共函数 find_folios_written_back(),复用到传统 active/inactive LRU 的 shrink_inactive_list(),memcg 场景下未被计费的 swap 浪费从 350M+ 降至约 2M