how do i get lowest possible datagram latency on Linux these days? io_uring? dpdk? raw sockets?
running a kernel with real time patches (recent NixOS boot.kernelPackages = pkgs.linuxPackages-rt)
dedicated machines, dedicated gigabit ethernet link(s), rt scheduling (jack audio)
Conversation
looking into dpdk it seems that this could in principle be used for hard real time applications
dedicated cores interact with nics directly using shared memory (dram or cache) and cores uses polling receive
Replying to
DEVELOPMENT OF ETHERNET BASED REAL-TIME APPLICATIONS IN LINUX USING DPDK
inspirehep.net/files/6d0e2ad4
1
1
AF_XDP / eBPF
kernel.org/doc/html/lates
1
supported for intel igb since linux 5.10
i have two dual intel 82576 in the junk box so there you go no more excuses
Replying to
the absolute lowest latency answer is use a smart nic, the second lowest latency is run in a kernel thread, after that is probably cpu affinity and io_uring. though it also matters whether you're talking about worst-case, average, or 90th percentile
1
1
Show replies

