开发者为zswap提交两项优化补丁 特定测试中的页面读取延迟大幅下降

2026年10月07日 13:01 次阅读 稿源:cnBeta.COM 条评论

Linux开发者乌萨马·阿里夫向内核邮件列表提交两项补丁,旨在减少zswap加载交换页时的请求争用。zswap是Linux的压缩缓存机制,会把准备换出内存的页面压缩后暂存在内存中;若页面能从压缩缓存读取,就可减少对交换设备的访问,尤其有助于缓解内存紧张时的磁盘I/O压力。

image.webp

问题在于,现有代码让压缩写入和解压读取共用每CPU的异步压缩请求及互斥锁。低优先级的写入任务如果在持锁期间被抢占,高优先级的读取任务也可能被迫等待。第一项补丁为压缩与解压分别设置请求、等待对象和互斥锁,使读取不再被写入任务阻塞;第二项补丁则让同步软件压缩算法使用栈上请求,进一步绕过zswap锁。需要异步处理或额外请求上下文的算法仍沿用每CPU请求和互斥锁。

补丁作者公布的基准测试显示,在单虚拟CPU环境下,每轮最慢读取延迟的中位数从22.3毫秒降至0.97毫秒;在8个虚拟CPU环境下,则从314毫秒降至7毫秒。测试每项运行5轮,使用zstd压缩器、虚拟机和内存盘作为交换设备,并通过不同优先级任务制造负载;超过10毫秒的读取次数也从单核每轮26至35次降至零,多核环境则从每轮3至18次降至最多一次。作者说明,基准和测试程序借助大语言模型编写。

这些数字反映的是特定压力测试中的读取延迟改善,并不代表所有Linux设备或日常负载都会获得同等幅度的整体提速。

补丁目前仍处于内核邮件列表评审阶段,尚未并入主线内核:

https://lore.kernel.org/lkml/[email protected]/

对文章打分

开发者为zswap提交两项优化补丁 特定测试中的页面读取延迟大幅下降

1 (50%)
已有 条意见

    最新资讯

    加载中...

    编辑精选

    加载中...

    热门评论

      Top 10

      招聘

      created by ceallan