On 12/7/20 2:06 PM, Boris Pismenny wrote: > When using direct data placement the NIC writes some of the payload > directly to the destination buffer, and constructs the SKB such that it > points to this data. As a result, the skb_copy datagram_iter call will > attempt to copy data when it is not necessary. > > This patch adds a check to avoid this copy, and a static_key to enabled > it when TCP direct data placement is possible. >
Why not mark the skb as ZEROCOPY -- an Rx version of the existing SKBTX_DEV_ZEROCOPY and skb_shared_info->tx_flags? Use that as a generic way of indicating to the stack what is happening.