При вставке сплайсинга в списке ядра обсуждался, что sendfile был повторно реализован на основе сплайсинга. В документации для сращивания SLICE_F_MOVE указано:
Попытка перемещения страниц вместо копирования. Это только подсказка для ядра: страницы все равно могут быть копируется, если ядро не может перемещать страницы из трубы, или если буферы труб не относятся к полные страницы. Первоначальная реализация этого флаг был глючит: поэтому, начиная с Linux 2.6.21 это нет-op (но все еще разрешено в вызов splice()); в будущем, правильный реализация может быть восстановлена.
Значит ли это, что Linux не имеет метода нулевой копии для записи в сокеты? Или это было зафиксировано в какой-то момент, и никто не обновлял документацию в течение многих лет? Имеет ли какой-либо из sendfile или splice нулевую реализацию копии в любой из последних версий ядра 3.x?
Поскольку у Google нет ответа на этот запрос, я создаю вопрос о stackoverflow для следующего бедного schmuck, который хочет знать, есть ли какая-либо польза для использования vmsplice и splice или sendfile поверх простой старой записи.