Over at the SAMBA+ blog, the performance of the new ksmbd kernel SMB server and Samba in user space are compared:
ksmbd claims performance improvements on a wide range of benchmarks: the graphs on this page show a doubling of performance on some tests. There was also the notion that an in-kernel server is likely an easier place to support SMB Direct, which uses RDMA to transfer data between systems.
Clearly, those number are impressive, but at the same time recent improvements in Samba’s IO performance put this into perspective: by leveraging the new “io_uring” Linux API Samba is able to provide roughly 10x the throughput compared to ksmbd.
Time will tell whether it’s better to reside in kernel-space like ksmbd or in user-space like Samba in order to squeeze the last bit of performance out of the available hardware.
There are two graphs that show some impressive results for Samba.