[dpdk-dev] [PATCH] i40e: prefetch next mbuf in rx alloc code

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Jul 10 16:33:19 CEST 2015


Helin, a comment?

2015-06-11 00:19, Damjan Marion:
> This patch improves performance of vectored rx on i40e devices.
> 
> Signed-off-by: Damjan Marion <damarion at cisco.com>
> ---
>  drivers/net/i40e/i40e_rxtx.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
> index 2de0ac4..152e9e6 100644
> --- a/drivers/net/i40e/i40e_rxtx.c
> +++ b/drivers/net/i40e/i40e_rxtx.c
> @@ -778,6 +778,11 @@ i40e_rx_alloc_bufs(struct i40e_rx_queue *rxq)
>  
>  	rxdp = &rxq->rx_ring[alloc_idx];
>  	for (i = 0; i < rxq->rx_free_thresh; i++) {
> +
> +		/* Prefetch next mbuf */
> +		if (i < (rxq->rx_free_thresh - 1))
> +			rte_prefetch0 (rxep[i+1].mbuf);
> +
>  		mb = rxep[i].mbuf;
>  		rte_mbuf_refcnt_set(mb, 1);
>  		mb->next = NULL;
> 




More information about the dev mailing list