近日,红帽的工程师们对 DeviceMapper(DM,设备映射器)的代码进行了大幅的性能优化,这项改动现在已经进入了 Linux 5.14 的合并队列中。
设备映射器是一个由 Linux 内核提供的框架,用于将物理块设备映射到更高级别的虚拟块设备上。它构成了逻辑卷管理器(LVM)、软件 RAID 和 dm-crypt 磁盘加密的基础,并提供了额外的功能,如文件系统快照。
设备映射器的工作原理是将数据从一个虚拟块设备(由设备映射器本身提供)传递到另一个块设备,数据也可以在转换中被修改。
该提交「dm space maps: improve performance with inc/dec on ranges of blocks 」(DM space maps:通过对区块范围的 inc/dec 提高性能)被总结为:"当我们打破 btree 节点上的共享时,我们通常需要对节点中持有的每个值增加引用计数。这可能会导致对 space maps 的大量重复调用。通过改变 space map inc/dec 方法的接口来解决这个问题,以获取要操作的相邻块的范围。"
虽然看起来这是一项很小的改动,但对性能的影响却是巨大的。对于使用大量快照的安装,这将使基本操作的 CPU 开销降低多达 10 倍。
具体而言,此次更新的补丁在处理 DM 快照上,CPU 的开销可以降低 10 倍之多。除此之外另一个补丁,可以用于缓存少量的索引条目,有了这个变化,提供一个新的块相比以往可以降低 20% 的 CPU 时间。
红帽的工程师们在持续改进 Linux 存储支持方面做了大量的工作,这些 DM 的改进也有助于 Stratis 存储工作。
猜你喜欢:暂无回复。