スプライスを使用すると、すべてがカーネルにとどまることができます。しかし、パイプに渡されるのがデータなのか居場所情報なのかはわかりません。
編集 1: @vinayak に感謝します。これで、パイプ バッファーとの間で実際にデータ コピーが行われることがわかりました。しかし、なぜ居場所と長さの情報をパイプに渡すことができないのでしょうか?
- 単一のプロセス内では、アドレス空間は同じです
- 異なるプロセス間では、パイプ バッファーが線形マップされている場合にも機能します。そうでない場合は、DMA アドレスを使用できます。