On 17-01-31 08:30 AM, Sowmini Varadhan wrote: > On (01/27/17 13:33), John Fastabend wrote: >> >> This is an experimental implementation of rx zero copy for af_packet. >> Its a bit rough and likely has errors but the plan is to clean it up >> over the next few months. >> >> And seeing I said I would post it in another thread a few days back >> here it is. > > One question/comment about this: sure, this saves us an skb copy > on the rx side, but at least for the Tx side, I think there may > be a trade-off between the overhead from the skb setup and the > ease of offloading checksum (and UFO where it is available) to > consider, even for PF_PACKET. >
Yes although as Willem suggested and I pushed a quick comment at the end of the patch, virtio descriptors might be a better options for a v4 descriptor type because they have mechanisms to handle checksum and others in place already. > Using PF_PACKET works well for stateless datagram protocols like > UDP, and for UDP sockets, we find that just switching to Jumbo > (to simulate a poor-man's-UFO) gives us significant improvement > in both throughput and latency for our RDBMS workloads - and > having the sk_buff facilitates using existing driver-kernel interfaces > for offload easily, so while we may gain some perf improvment by shaving > of the sk_buff overhead, the trade-off needs to be considered. Of course but many workloads/environments can not use jumbo frames nor would it be helpful if your average pkt size is 128B or something around there. > > --Sowmini > > >