[dpdk-dev] [PATCH v2 4/7] net/mlx4: merge Tx path functions

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Tue Oct 24 15:51:49 CEST 2017


On Mon, Oct 23, 2017 at 02:21:57PM +0000, Ophir Munk wrote:
> From: Matan Azrad <matan at mellanox.com>
> 
> Merge tx_burst and mlx4_post_send functions to prevent
> double asking about WQ remain space.
> 
> This should improve performance.
> 
> Signed-off-by: Matan Azrad <matan at mellanox.com>
> ---
>  drivers/net/mlx4/mlx4_rxtx.c | 353 +++++++++++++++++++++----------------------
>  1 file changed, 170 insertions(+), 183 deletions(-)

What are the real expectation you have on the remaining patches of the
series?

According to the comment of this commit log "This should improve
performance" there are too many barriers at each packet/segment level to
improve something.

The point is, mlx4_burst_tx() should write all the WQE without any
barrier as it is processing a burst of packets (whereas Verbs functions
which may only process a single packet).  The lonely barrier which
should be present is the one to ensure that all the host memory is
flushed before triggering the Tx doorbell.

There is also too many cases handled which are useless in bursts
situation, this function needs to be re-written to its minimal use case
i.e.  processing a valid burst of packets/segments and triggering at the
end of the burst the Tx doorbell.

Regards,

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list