sendfile Zero-Copy: Which Data Copies Are Eliminated?
This article compares traditional file-to-network data transfer (4 copies, 2 CPU copies) with Linux sendfile zero-copy (2 DMA copies, 0 CPU copies), explaining how sendfile eliminates two CPU-mediated copies by moving data directly from kernel page cache to socket buffer, while noting limitations like file-to-socket only, no compression, and UDP incompatibility.
