4 ms·
I'm kinda of the opinion that things listening on the network shouldn't be in-kernel. Instead, the kernel interfaces should be improved to allow userspace appl
by londons_explore 3y ago
I'm kinda of the opinion that things listening on the network shouldn't be in-kernel.
Instead, the kernel interfaces should be improved to allow userspace applications to get the same performance benefits. For example, RDMA could be arranged from userspace by having a sendfile() like syscall suitable for telling the kernel that RDMA requests should be satisfied from a certain file handle. Perhaps even seccomp bpf could be used for constructing more complex response packets without needing a context switch to the userspace application.
- tadfisher 3y agoio_uring already supports zero-copy networking (it's basically an RDMA API after all), and I believe the latest versions of Samba use it to great effect. I'm pretty confident this server could be ported entirely to userspace and maybe even get better performance by avoiding the userspace listener for DCE/RPC.
- AshamedCaptain 3y agoYou know the real reason behind this was to get a GPL2'd Samba that (other) people would be forced to support, right? Plenty hw manufacturers still won't touch the GPLv3 Samba with a ten-foot pole but do not want to commit to support a fork themselves with all the CVEs it would entail over the years. By putting it in the kernel where it'll have high visibility and with some excuse about performance requirements, at least someone may take the bait later on and maintain this one for free. May even become more popular than Samba itself. Win win!
- hulitu 3y ago> By putting it in the kernel where ... they repeat the same mistakes MS did with Windows. /s