zero-copy · shipping

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

  1. Linux man-pages 6.19: sendfile(2), return value and source lifetime (accessed 2026-10-17)
  2. Linux kernel documentation: MSG_ZEROCOPY, notifications and deferred copies (accessed 2026-10-17)
  3. Pai, Druschel and Zwaenepoel: IO-Lite, OSDI 1999, sections 2.1, 2.5, 2.9 and 3 (accessed 2026-10-18)

Further reading

  1. Hesela: Zero-copy transfers do not freeze source bytes (accessed 2026-10-18)

JSON: /data/terms/zero-copy.json

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/