From: Lino Sanfilippo > Sent: 15 February 2017 21:31 ... > Well, you should really try to avoid copying the tx buffers _at all_. > E.g. by passing self->buff_ring to aq_ring_tx_append_buffs() instead of > the temporary array.
Copying can help for horridly fragmented frames or when iommu (etc) setup is expensive. At least some ethernet hardware has minimum fragment lengths. However, if the frame doesn't fit at the end - just copy to the front. Something should ensure the copies are aligned (you may want gaps between frames.) I presume there is a 'space in buffer' check elsewhere. David