[dpdk-dev] [PATCH v5 4/6] examples/ioat: add two threads configuration

Baran, MarcinX marcinx.baran at intel.com
Fri Sep 27 16:03:49 CEST 2019


-----Original Message-----
From: Bruce Richardson <bruce.richardson at intel.com> 
Sent: Friday, September 27, 2019 12:09 PM
To: Baran, MarcinX <marcinx.baran at intel.com>
Cc: dev at dpdk.org; Modrak, PawelX <pawelx.modrak at intel.com>
Subject: Re: [dpdk-dev] [PATCH v5 4/6] examples/ioat: add two threads configuration

On Fri, Sep 20, 2019 at 09:37:12AM +0200, Marcin Baran wrote:
> From: Pawel Modrak <pawelx.modrak at intel.com>
> 
> Added possibility to use two lcores: first for packet receiving and 
> copying, second for packets sending.
> 
> Signed-off-by: Pawel Modrak <pawelx.modrak at intel.com>
> Signed-off-by: Marcin Baran <marcinx.baran at intel.com>
> ---
>  examples/ioat/ioatfwd.c | 92 
> ++++++++++++++++++++++++++++++-----------
>  1 file changed, 67 insertions(+), 25 deletions(-)
> 
> diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c index 
> c66ce7e49..4c51db6bd 100644
> --- a/examples/ioat/ioatfwd.c
> +++ b/examples/ioat/ioatfwd.c
> @@ -161,7 +161,6 @@ ioat_enqueue_packets(struct rte_mbuf **pkts,
>  	rte_mempool_put_bulk(ioat_pktmbuf_pool, (void *)&pkts_copy[i],
>  		nb_rx - i);
>  
> -
>  	return ret;
>  }
>  
> @@ -226,8 +225,8 @@ ioat_tx_port(struct rxtx_port_config *tx_config)
>  	struct rte_mbuf *mbufs_dst[MAX_PKT_BURST];
>  
>  	if (copy_mode == COPY_MODE_IOAT_NUM) {
> -		/* Deque the mbufs from IOAT device. */
>  		for (i = 0; i < tx_config->nb_queues; i++) {
> +			/* Deque the mbufs from IOAT device. */
>  			nb_dq = rte_ioat_completed_copies(
>  				tx_config->ioat_ids[i], MAX_PKT_BURST,
>  				(void *)mbufs_src, (void *)mbufs_dst); @@ -256,31 +255,64 @@ 
> ioat_tx_port(struct rxtx_port_config *tx_config)
>  					nb_dq - nb_tx);
>  		}
>  	} else {
> -		/* Deque the mbufs from rx_to_tx_ring. */
> -		nb_dq = rte_ring_dequeue_burst(tx_config->rx_to_tx_ring,
> -			(void *)mbufs_dst, MAX_PKT_BURST, NULL);
> -
> -		if (nb_dq == 0)
> -			return;
> -
> -		/* Update macs if enabled */
> -		if (mac_updating) {
> -			for (i = 0; i < nb_dq; i++)
> -				update_mac_addrs(mbufs_dst[i],
> -					tx_config->rxtx_port);
> -		}
> +		for (i = 0; i < tx_config->nb_queues; i++) {

This commit refers to adding support for 2 threads rather than 1, but this change seems related to having multiple queues rather than threads. Shoudl it be in a previous patch?

/Bruce

[Marcin] Moved the change to 2nd patch for v6.



More information about the dev mailing list