Linux 6.0 SMB3 Client Code Brings Multi-Channel Performance Improvement

Written by Michael Larabel in Linux Storage on 7 August 2022 at 04:52 PM EDT. 18 Comments
LINUX STORAGE
The Linux CIFS/SMB3 client updates were merged on Sunday for the Linux 6.0 merge window. Notable with this round of updates is a performance improvement for the multi-channel mode.

The SMB 3.0 protocol in modern versions of Windows and Linux supports multi-channel operation to increase network performance and reliability. SMB Multi-channel operation allows file servers to use multiple network connections simultaneously to aggregate bandwidth and enhance fault tolerance. Linux has already supported multi-channel but with Linux 6.0 the CIFS/SMB3 client code brings a performance improvement to this mode of operation.


Microsoft documentation showing the general performance benefits to SMB3 multi-channel within Azure and Windows. Linux's SMB3 multi-channel client performance should be in better shape with the v6.0 kernel.


The CIFS kernel code has been updated to avoid global locks around high contention data. While Microsoft engineers were analyzing the SMB3 multi-channel performance, they noticed two locks that were shared between multiple data structures and causing a lot of contention. With Linux 6.0 there are new, more granular level locks to address the high contention.

Microsoft engineer Shyam Prasad N authored this change for avoiding the locking contention in multi-channel mode, but didn't comment on any particulars around quantifying the performance improvement. CIFS maintainer Steve French of Microsoft simply summed it up as a "multichannel perf improvement" in the pull request that was merged on Sunday.

The other SMB3/CIFS client changes are mostly fixes, including addressing a memory leak. There is also a change so more SMB1 code is not compiled in when disabling the SMB legacy support.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week