On Mon, Apr 13, 2015 at 4:03 PM, Malcolm Crossley <malcolm.cross...@citrix.com> wrote: >> >> But the main concern here is it basically breaks back pressure. >> >> And you do not want this, unless there is no other choice. >> > > virtio_net already use's skb_orphan() in it's transmit path. It seems > only fair that other virtual network drivers behave in the same way. > > There are no easy solutions to decrease the transmit latency for > netback/netfront. We map the guest memory through to the backend to > avoid memory copies. The frontend memory can only be freed once the > network driver has completed transmitting the packet in the backend. > > Modern network drivers can be quite slow at freeing the skb's once > transmitted (the packet is already on the wire as far as they are > concerned) and this delay is compounded by needing the signal the > completion of the transmit back to the frontend (by IPI in worst case). > > From a networking point of view, the backend is a switch. Is it OK to > consider the packet to have been transmitted from the guest point of > view once the backend is aware of the packet? > > This would help justify the skb_orphan() in the frontend.
This sounds sensible to me, particularly if virtio_net is already doing it. -George -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html