Bcachefs 1.38.6 带来诸多性能改进

Lobsters Hottest 工具

摘要

Bcachefs-Tools 1.38.6 已发布,带来了许多性能改进,包括无锁日志刷新、B树优化和改进的分片。它还支持每个文件系统最多 255 个存储设备,并提供 Ubuntu 26.04 LTS 软件包。

<p><a href="https://lobste.rs/s/mgvyrc/bcachefs_1_38_6_brings_many_performance">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/18 01:57

Bcachefs 工具 1.38.6 带来众多性能改进

来源:https://www.phoronix.com/news/Bcachefs-Tools-1.38.6 LINUX 存储

Kent Overstreet 今日宣布发布 Bcachefs-Tools 1.38.6,这是围绕 Bcachefs 写时复制文件系统构建的用户空间工具。v1.38.6 带来了一些新功能和大量性能方面的优化,且不涉及任何磁盘格式的破坏性变更。

Bcachefs-Tools 现在支持单个文件系统中最多 255 个存储设备。此外,现在通过 apt.bcachefs.org 发布了 Ubuntu 26.04 LTS 软件包,以方便用户进行测试。

除此之外,还有许多错误修复,但最显著的是此次发布中包含的大量性能优化工作。Overstreet 总结了性能方面的变化:

“性能优化工作涵盖了大部分代码库,对相当多的工作负载和基准测试进行了性能分析。部分亮点如下:

  • 日志代码中的许多性能改进,主要针对锁争用。日志刷新现在完全无锁,显著提升了多线程 O_SYNC/fsync 工作负载的性能。日志固定列表现在拥有每个固定列表自己的锁,而不是共享主日志锁;日志固定 FIFO 现在可以在运行时调整大小;这避免了在 O_SYNC/fsync 密集型工作负载中出现不必要的限流。日志读取现在通过在每个设备上进行二分查找来找到最新条目,从而显著减少了需要读取的日志量;我们还利用这一点增加了默认的日志大小。
  • 核心 B 树迭代器和事务提交代码经过了大量的性能分析和优化,尤其大大减少了 icache 使用。
  • B 树分片得到了极大改进:我们现在基于 PID(而非当前 CPU)来分配新的 inode;强制要求 B 树节点不跨越分片边界;在发生锁争用时,会尝试将线程迁移到其数据所在分片的 CPU 上。这大大减少了锁争用;高客户端数的 dbench 测试尤其受益。
  • 多线程 B 树写缓冲区刷新也获得了更多改进,减少了因锁反转导致的停顿,并且运行时内省功能得到了大幅提升。“

希望 Phoronix 很快能抽出时间进行一些新的 Linux 文件系统对比性能基准测试,包括 Bcachefs,特别是考虑到 Btrfs 默认启用大 folios(https://www.phoronix.com/news/Linux-7.2-Btrfs)以及 Linux 7.2 中其他上游文件系统的改进。

关于 Bcachefs Tools 1.38.6 版本的更多详情,请参见 bcachefs-tools.git(https://evilpiepirate.org/git/bcachefs-tools.git/commit/?id=a0527526f098ff833faf9199278938ea1d5e48f6)。

相似文章

Bcachefs 1.38.6 - 性能发布版

Lobsters Hottest

Bcachefs 1.38.6 作为性能发布版,移除了实验性标签,引入了纠删码和数据调和以改善数据管理,并将用户空间代码转换为 Rust。

Bazel 新增内容定义分块

Hacker News Top

BuildBuddy 的远程缓存现在采用内容定义分块 (CDC),实现对大型构建输出的字节级复用,在基准测试中上传量减少 40%,磁盘缓存大小减少 40%。

我们通过删除文件系统使其速度提升了47倍

Hacker News Top

microsandbox将其缓慢的用户空间FUSE文件系统替换为内核挂载的EROFS磁盘映像,在文件系统操作上实现了几何平均47倍的速度提升,并消除了虚拟机/主机往返瓶颈。

交换表、闪存友好的交换、swap_ops 等

Hacker News Top

本文介绍了 Linux 内核交换子系统的最新改进和未来计划,包括减少每页开销、基于 folio 的辅助函数,以及使交换更适配固态存储的努力。相关内容在 2026 年 Linux 存储、文件系统、内存管理与 BPF 峰会上进行了讨论。

GCC 16及以后版本中的BPF支持

Lobsters Hottest

何塞·马奇西(José Marchesi)和GCC-BPF团队提供了GCC 16中BPF支持的更新,突出了在与LLVM功能对等方面取得的进展,以及内核BPF自测通过率的提升。