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

Bruce Richardson bruce.richardson at intel.com
Fri Sep 27 12:08:54 CEST 2019


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



More information about the dev mailing list