first, if you're using io_uring_enter, you're probably not using io_uring in any way that truly minimizes latency. Kernel-side polling is required not just for that, see the latest work on how it integrates with the NAPI driver infrastructure.
second, there should be no spurious copies if you set it up right; it is designed with zero-copy capabilities in mind.
third, whether or not it evalutes ebpf or wastes other time in the kernel stack is a matter of configuration and tuning.
fourth, there are several articles that already demonstrate that it achieves performance close to that of DPDK, with a much easier and more flexible setup.
second, there should be no spurious copies if you set it up right; it is designed with zero-copy capabilities in mind.
third, whether or not it evalutes ebpf or wastes other time in the kernel stack is a matter of configuration and tuning.
fourth, there are several articles that already demonstrate that it achieves performance close to that of DPDK, with a much easier and more flexible setup.