On Tue, Nov 28, 2017 at 12:19:28PM +0000, Matan Azrad wrote: > The previuse code took a send queue entry size for stamping from the > send queue entry pointed by completion queue entry; This 2 reads were > done per packet in completion stage. > > The completion burst packets number is managed by fixed size stored in > Tx queue, so we can infer that each valid completion entry actually frees > the next fixed number packets. > > The descriptors ring holds the send queue entry, so we just can infer > all the completion burst packet entries size by simple calculation and > prevent calculations per packet. > > Adjust completion functions to free full completion bursts packets > by one time and prevent per packet work queue entry reads and > calculations. > > Save only start of completion burst or Tx burst send queue entry > pointers in the appropriate descriptor element. > > Signed-off-by: Matan Azrad <ma...@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarg...@6wind.com> -- Adrien Mazarguil 6WIND