已更新修补程序以解决可能产生约12倍吞吐量的VMAP/vMalloc锁定争用

2024年 1月 3日 60.2k 0

已更新修补程序以解决可能产生约12倍吞吐量的VMAP/vMalloc锁定争用-1
一个重要的Linux内核补丁系列已经针对新的一年进行了更新,在合成测试中,它在AMD Ryzen线程解析器系统上的吞吐量提高了大约12倍。

索尼的Uladzislau Rezki几个月来一直在努力消除Linux内核的vmap/vMalloc代码中的锁定争用。这种由保护全局VMAP空间的单一自旋锁引起的锁定争用正在导致当今日益高的核心计数系统上的严重问题。

补丁系列现在已经到了第三次迭代,目的是让它更具可扩展性:

“我们引入了有效的VMAP节点逻辑。节点作为独立实体直接(如果可能)为来自其池的分配请求提供服务。这样,它绕过了由其自己的锁保护的全局VMAP空间。

对池的访问由CPU串行化。节点数等于系统中的CPU数。请注意,高阈值绑定到128个节点。

池根据系统需求进行大小隔离和填充。可以存储到独立存储中的最大分配请求是256页。作为第一步,懒惰的排水路径使池衰退25%,作为第二步,由新释放的VAS填充以供重复使用,而不是将它们返回到全局空间中。

在强调vMalloc路径的合成测试中,索尼工程师发现,在AMD Ryzen Thadriper 3970X测试系统上,吞吐量大约高出约12倍。

已更新修补程序以解决可能产生约12倍吞吐量的VMAP/vMalloc锁定争用-2

这个V3补丁程序 for dealing with this vmap/vmalloc locking contention is out for review on the Linux kernel mailing list. Hopefully this is just the tip of the iceberg we see for Linux performance optimizations in 2024.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论