← 返回日报
精读 预计 2 分钟

Bcachefs 1.38.6 Brings Many Performance Improvements

摘要

该版本支持最多 255 个存储设备,提供 Ubuntu 26.04 LTS 包。主要性能改进包括 journaling 代码的锁 contention 减少、journal flush 无锁化、journal pin lists 和 fifo 优化、btree iterator 与 transaction commit 优化、btree sharding 改进以及 multithreaded btree write-buffer flushing 提升,无 on-disk format 破坏。

荐读理由

Bcachefs 1.38.6 发布多项性能优化:Journal flush 实现完全无锁,减少多线程 O_SYNC/fsync 负载的锁争用;btree 写缓冲区多线程刷新优化;inode 分配基于 pid 的分片改进;这些直接可用在 Linux 文件系统项目中提升吞吐和降低延迟

原文

Bcachefs Tools 1.38.6 Brings Many Performance Improvements

Written by Michael Larabel in Linux Storage on 17 June 2026 at 04:06 PM EDT. 16 Comments

LINUX STORAGE

Kent Overstreet announced the release today of Bcachefs-Tools 1.38.6 as the user-space tools built around the Bcachefs copy-on-write file-system. There are a few new features and a lot of performance work in v1.38.6 without bringing any on-disk format breakage.

Bcachefs-Tools now supports up to 255 storage devices in a single file-system. There is also Ubuntu 26.04 LTS packages now published via apt.bcachefs.org to facilitate easier testing.

Plus there are many bug fixes but most significant is all the performance work that went into this release. Overstreet summed up the performance changes as:

"Performance work spanned much of the codebase, quite a few workloads and benchmarks were profiled. Some highlights:

  • Many performance improvements in the journalling code, primarily targeting lock contention. Journal flushes are now fully lockless, significantly improving performance on multithreaded O_SYNC/fsync workloads.

Journal pin lists now have per-pin-list locks instead of sharing the main journal lock, and the journal pin fifo can now be resized at runtime; this avoids unnecessary throttling on O_SYNC/fsync heavy workloads.

Journal read now has to read significantly less of the journal by using a binary search to find the most recent entry on each device, which we're also taking advantage of by increasing the default journal size.

  • The core btree iterator and transaction commit code saw significant profiling and optimization, greatly reducing icache usage in particular.

  • Btree sharding was greatly improved; we now shard new inode allocations based on pid, not the current cpu, enforce that btree nodes do not cross shard boundaries, and on lock contention we try to migrate threads to the CPU for their data's shard. This drastically reduces lock contention; high client count dbench particularly benefited.

  • Multithreaded btree write-buffer flushing saw more improvements, reducing stalls due to lock inversion, and runtime introspection was greatly improved."

Hopefully time at Phoronix will allow for some new Linux file-system comparison performance benchmarks soon, Bcachefs included, especially given Btrfs large folios by default and other upstream file-system improvements hitting Linux 7.2.

More details on the Bcachefs Tools 1.38.6 release via bcachefs-tools.git.

Lobsters · 3 赞 · 2 评 讨论 → 阅读原文 →

这条对你有帮助吗?