RFC: zero copy recv()

From: Maxim Uvarov
Date: Wed Apr 24 2019 - 02:23:14 EST


Hello,

On different conferences I see that people are trying to accelerate
network with putting packet processing with protocol level completely
to user space. It might be DPDK, ODP or AF_XDP plus some network
stack on top of it. Then people are trying to test this solution with
some existence applications. And in better way do not modify
application binaries and just LD_PRELOAD sockets syscalls (recv(),
sendto() and etc). Current recv() expects that application allocates
memory and call will "copy" packet to that memory. Copy per packet is
slow. Can we consider about implementing zero copy API calls
friendly? Can this change be accepted to kernel?

What are your thoughts?

Thank you,
Maxim.