From 5f88602e0aceb705a61cf893c53cd15bd5b16fb8 Mon Sep 17 00:00:00 2001 From: Maciej Gajdzica Date: Thu, 21 May 2015 14:28:41 +0200 Subject: [PATCH] port: remove an ethdev writer implementation There was two implementations of tx_bulk function in ethdev_writer port. The function to run is chosen with WRITER_APPROACH define. This patch removes WRITER_APPROACH = 0 implementation, as it seems to be slower. Signed-off-by: Maciej Gajdzica Acked-by: Cristian Dumitrescu --- lib/librte_port/rte_port_ethdev.c | 47 ------------------------------- 1 file changed, 47 deletions(-) diff --git a/lib/librte_port/rte_port_ethdev.c b/lib/librte_port/rte_port_ethdev.c index d0149133e4..55ed829341 100644 --- a/lib/librte_port/rte_port_ethdev.c +++ b/lib/librte_port/rte_port_ethdev.c @@ -99,8 +99,6 @@ rte_port_ethdev_reader_free(void *port) /* * Port ETHDEV Writer */ -#define RTE_PORT_ETHDEV_WRITER_APPROACH 1 - struct rte_port_ethdev_writer { struct rte_mbuf *tx_buf[2 * RTE_PORT_IN_BURST_SIZE_MAX]; uint32_t tx_burst_sz; @@ -171,45 +169,6 @@ rte_port_ethdev_writer_tx(void *port, struct rte_mbuf *pkt) return 0; } -#if RTE_PORT_ETHDEV_WRITER_APPROACH == 0 - -static int -rte_port_ethdev_writer_tx_bulk(void *port, - struct rte_mbuf **pkts, - uint64_t pkts_mask) -{ - struct rte_port_ethdev_writer *p = - (struct rte_port_ethdev_writer *) port; - - if ((pkts_mask & (pkts_mask + 1)) == 0) { - uint64_t n_pkts = __builtin_popcountll(pkts_mask); - uint32_t i; - - for (i = 0; i < n_pkts; i++) { - struct rte_mbuf *pkt = pkts[i]; - - p->tx_buf[p->tx_buf_count++] = pkt; - if (p->tx_buf_count >= p->tx_burst_sz) - send_burst(p); - } - } else { - for ( ; pkts_mask; ) { - uint32_t pkt_index = __builtin_ctzll(pkts_mask); - uint64_t pkt_mask = 1LLU << pkt_index; - struct rte_mbuf *pkt = pkts[pkt_index]; - - p->tx_buf[p->tx_buf_count++] = pkt; - if (p->tx_buf_count >= p->tx_burst_sz) - send_burst(p); - pkts_mask &= ~pkt_mask; - } - } - - return 0; -} - -#elif RTE_PORT_ETHDEV_WRITER_APPROACH == 1 - static int rte_port_ethdev_writer_tx_bulk(void *port, struct rte_mbuf **pkts, @@ -255,12 +214,6 @@ rte_port_ethdev_writer_tx_bulk(void *port, return 0; } -#else - -#error Invalid value for RTE_PORT_ETHDEV_WRITER_APPROACH - -#endif - static int rte_port_ethdev_writer_flush(void *port) { -- 2.20.1