Linux 6.0 SMB3 client code brings multi-channel performance improvements
2 min readLinux 6.0 SMB3 client code brings multi-channel performance improvements
- An American company made 0.7nm chips: EUV lithography machines can’t do it
- CVE-2007-4559 Python vulnerability ignored for 15 years puts 350,000 projects at risk of code execution
- RISC-V only takes 12 years to achieve the milestone of 10 billion cores
- 14000 cores + 450W: RTX 4080 graphics card perfectly replaces the RTX 3080
- Big upgrade: The difference between Bluetooth 5.0 and 5.2
- Geeks Disappointed that RTX 4080/4090 doesn’t come with PCIe 5.0
- What are advantages and disadvantages of different load balancing?
Linux 6.0 SMB3 client code brings multi-channel performance improvements.
Updates to the Linux CIFS/SMB3 client were merged in Sunday’s Linux 6.0 merge window, and notable in this round of updates are performance improvements in multi-channel mode.
The SMB 3.0 protocol in modern versions of Windows and Linux supports multi-channel operation to improve network performance and reliability.
SMB multichannel operation allows file servers to use multiple network connections simultaneously to aggregate bandwidth and enhance fault tolerance.
Linux already supports multichannel, but with the introduction of Linux 6.0, the CIFS/SMB3 client code will bring a performance boost to this mode of operation.
This document from Microsoft shows the general performance benefits of SMB3 multichannel within Azure and Windows , and Linux’s SMB3 multi-channel client performance should also have better performance under the v6.0 kernel.
The CIFS kernel code has been updated to avoid global locks around highly contentious data.
When Microsoft engineers were analyzing SMB3 multi-channel performance, they noticed that two locks were shared among multiple data structures, causing a lot of contention between them. In Linux 6.0, new, more granular locks address high contention.
Microsoft engineer Shyam Prasad N wrote the change to avoid lock contention in multi-channel mode, but he didn’t comment on any details surrounding quantifying the performance improvement.
Microsoft’s CIFS maintainer, Steve French, summed it up simply as a “multi-pass performance improvement” in a pull request merged on Sunday.
Other SMB3/CIFS client changes are mostly fixes, including addressing a memory leak.
Another change is that when SMB legacy support is disabled, more legacy SMB1 code will not be compiled in.
- DIY a PBX (Phone System) on Raspberry Pi
- How to host multiple websites on Raspberry Pi 3/4?
- A Free Intercom/Paging system with Raspberry pi and old Android phones
- DIY project: How to use Raspberry Pi to build DNS server?
- Raspberry Pi project : How to use Raspberry Pi to build git server?