Zero-copy I/O
Zero-copy I/O is a data-transfer technique that avoids one or more payload copies between buffers or address spaces.
The avoided copy and the buffer-reuse boundary depend on the API and path. A sendfile return does not release the caller from keeping referenced source regions unchanged until consumption. [1]
MSG_ZEROCOPY is a separate socket interface with buffer-reuse notifications; these are not transmit-completion notifications, and the kernel can still copy the data. [2]
IO-Lite (OSDI 1999) combined copy avoidance with immutable buffers and mutable buffer aggregates; source stability was part of that design, not a consequence of the term zero-copy. [4]
Relations
- related
- sendfile, splice, page-cache, direct-io
Citations
- Linux man-pages 6.19: sendfile(2), return value and source lifetime
- Linux kernel documentation: MSG_ZEROCOPY, notifications and deferred copies
- Pai, Druschel and Zwaenepoel: IO-Lite, OSDI 1999, sections 2.1, 2.5, 2.9 and 3
Further reading
Published by Hesela team · Updated
Report a correction · Editorial standards · Reuse guidance
Cite this page
Hesela team. Zero-copy I/O. Hesela. 2026-10-18. https://hesela.dev/terms/zero-copy/