内容简介:Linux 内核 5.10.8 已经发布。作为 Linux LTS 5.10 系列的最新版本,此次更新解决了 Btrfs 文件系统的性能问题。 Btrfs 是一种支持写入时复制(COW)的文件系统,目标是取代Linux目前的ext3文件系统,改善ext3的限...
Linux 内核 5.10.8 已经发布。作为 Linux LTS 5.10 系列的最新版本,此次更新解决了 Btrfs 文件系统的性能问题。
Btrfs 是一种支持写入时复制(COW)的文件系统,目标是取代Linux目前的ext3文件系统,改善ext3的限制,特别是单个文件的大小,总文件系统大小或文件检查和加入ext3未支持的功能,像是可写快照(writable snapshots)、快照的快照(snapshots of snapshots)、内建磁盘阵列(RAID),以及子卷(subvolumes)。Btrfs也宣称专注在“容错、修复及易于管理”。
然而,去年 10 月份的提交 ”btrfs: use btrfs_start_delalloc_roots in shrink_delalloc” 引起了一个性能问题:此前在使用正常的写回路径来回收延迟分配空间时,我们会提供想要刷新的页面数,而此提交更改为刷新大量 inode,在某些情况下这个数量还会剧烈增加。这严重影响了性能。并且由于后续的 "btrfs: fix deadlock when cloning inline extent and low on free metadata space“ 提交使用到了上述更改导致无法还原。 经过测试,在 5.10 中解压 Firefox 的压缩文件(360MiB xz compressed/1.5GiB uncompressed)相比于在 5.9 中,要花费5到20倍的时间。这种现象在 SSD 中更明显。
因此,在 “btrfs: shrink delalloc pages instead of full inodes” 提交中,在 btrfs_start_delalloc_roots() 函数中提供要刷新的页面数,并通过 writeback_control 结构和 sync_inode() 函数来解决刷新问题。再次进行测试(256GiB of ram, 56 cores, 2TiB Intel NVMe drive),结果如下:
可以看见效果显著。此外,此次更新还包括修复使用较旧的 glibc 时 net.o 编译失败、修复硬件 TID 泄漏、使用 VMAP 堆栈修复 RTAS 机器检查、 修复恢复过程中的死锁、 修复 MTU 对于 XDP 太大时的错误消息等。
详细内容请查看更新公告。
延伸阅读
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 高性能前端架构解决方案
- 两行代码解决 RavenDB 性能问题
- 解决系统性能问题的银弹---缓存技术
- [译] 高性能前端架构解决方案
- NUMA导致的Oracle性能问题解决
- Hadoop小文件解决方案-基于NameNode内存和MapReduce性能解决方案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Understanding Computation
Tom Stuart / O'Reilly Media / 2013-6-3 / USD 39.99
Finally, you can learn computation theory and programming language design in an engaging, practical way. Understanding Computation explains theoretical computer science in a context you'll recognize, ......一起来看看 《Understanding Computation》 这本书的介绍吧!