net/ixgbe: remove vector config
CONFIG_RTE_IXGBE_INC_VECTOR is enabled by default, so remove it and use architecture specific flags. Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
This commit is contained in:
parent
332f1649d8
commit
c8f5f2c0b1
@ -300,7 +300,6 @@ CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
|
||||
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
|
||||
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
|
||||
CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
|
||||
CONFIG_RTE_IXGBE_INC_VECTOR=y
|
||||
CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
|
||||
|
||||
#
|
||||
|
@ -15,7 +15,6 @@ There is no change to PMD API. The RX/TX handler are the only two entries for vP
|
||||
They are transparently registered at runtime RX/TX execution if all condition checks pass.
|
||||
|
||||
1. To date, only an SSE version of IX GBE vPMD is available.
|
||||
To ensure that vPMD is in the binary code, ensure that the option CONFIG_RTE_IXGBE_INC_VECTOR=y is in the configure file.
|
||||
|
||||
Some constraints apply as pre-conditions for specific optimizations on bulk packet transfers.
|
||||
The following sections explain RX and TX constraints in the vPMD.
|
||||
|
@ -89,9 +89,9 @@ SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_fdir.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_pf.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_flow.c
|
||||
ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
|
||||
SRCS-$(CONFIG_RTE_IXGBE_INC_VECTOR) += ixgbe_rxtx_vec_neon.c
|
||||
else
|
||||
SRCS-$(CONFIG_RTE_IXGBE_INC_VECTOR) += ixgbe_rxtx_vec_sse.c
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_neon.c
|
||||
else ifeq ($(CONFIG_RTE_ARCH_X86),y)
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_sse.c
|
||||
endif
|
||||
ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_BYPASS),y)
|
||||
SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_bypass.c
|
||||
|
@ -87,7 +87,7 @@
|
||||
#define rte_ixgbe_prefetch(p) do {} while (0)
|
||||
#endif
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
uint16_t ixgbe_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
|
||||
uint16_t nb_pkts);
|
||||
#endif
|
||||
@ -344,7 +344,7 @@ ixgbe_xmit_pkts_simple(void *tx_queue, struct rte_mbuf **tx_pkts,
|
||||
return nb_tx;
|
||||
}
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
static uint16_t
|
||||
ixgbe_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
|
||||
uint16_t nb_pkts)
|
||||
@ -2502,7 +2502,7 @@ ixgbe_set_tx_function(struct rte_eth_dev *dev, struct ixgbe_tx_queue *txq)
|
||||
(txq->tx_rs_thresh >= RTE_PMD_IXGBE_TX_MAX_BURST)) {
|
||||
PMD_INIT_LOG(DEBUG, "Using simple tx code path");
|
||||
dev->tx_pkt_prepare = NULL;
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
if (txq->tx_rs_thresh <= RTE_IXGBE_TX_MAX_FREE_BUF_SZ &&
|
||||
(rte_eal_process_type() != RTE_PROC_PRIMARY ||
|
||||
ixgbe_txq_vec_setup(txq) == 0)) {
|
||||
@ -2797,7 +2797,7 @@ ixgbe_rx_queue_release_mbufs(struct ixgbe_rx_queue *rxq)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
/* SSE Vector driver has a different way of releasing mbufs. */
|
||||
if (rxq->rx_using_sse) {
|
||||
ixgbe_rx_queue_release_mbufs_vec(rxq);
|
||||
@ -2935,7 +2935,7 @@ ixgbe_reset_rx_queue(struct ixgbe_adapter *adapter, struct ixgbe_rx_queue *rxq)
|
||||
rxq->pkt_first_seg = NULL;
|
||||
rxq->pkt_last_seg = NULL;
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
rxq->rxrearm_start = 0;
|
||||
rxq->rxrearm_nb = 0;
|
||||
#endif
|
||||
@ -3249,7 +3249,7 @@ ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
|
||||
if (unlikely(offset >= rxq->nb_rx_desc))
|
||||
return -EINVAL;
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
if (rxq->rx_using_sse)
|
||||
nb_hold = rxq->rxrearm_nb;
|
||||
else
|
||||
@ -4748,8 +4748,7 @@ ixgbe_set_rx_function(struct rte_eth_dev *dev)
|
||||
if (ixgbe_rx_vec_dev_conf_condition_check(dev) ||
|
||||
!adapter->rx_bulk_alloc_allowed) {
|
||||
PMD_INIT_LOG(DEBUG, "Port[%d] doesn't meet Vector Rx "
|
||||
"preconditions or RTE_IXGBE_INC_VECTOR is "
|
||||
"not enabled",
|
||||
"preconditions",
|
||||
dev->data->port_id);
|
||||
|
||||
adapter->rx_vec_allowed = false;
|
||||
@ -5919,7 +5918,7 @@ ixgbe_config_rss_filter(struct rte_eth_dev *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Stubs needed for linkage when CONFIG_RTE_IXGBE_INC_VECTOR is set to 'n' */
|
||||
/* Stubs needed for linkage for ppc arch */
|
||||
__rte_weak int
|
||||
ixgbe_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
|
||||
{
|
||||
|
@ -33,7 +33,7 @@
|
||||
|
||||
#define RTE_IXGBE_DESCS_PER_LOOP 4
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
#define RTE_IXGBE_RXQ_REARM_THRESH 32
|
||||
#define RTE_IXGBE_MAX_RX_BURST RTE_IXGBE_RXQ_REARM_THRESH
|
||||
#endif
|
||||
@ -115,7 +115,7 @@ struct ixgbe_rx_queue {
|
||||
uint8_t using_ipsec;
|
||||
/**< indicates that IPsec RX feature is in use */
|
||||
#endif
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
uint16_t rxrearm_nb; /**< number of remaining to be re-armed */
|
||||
uint16_t rxrearm_start; /**< the idx we start the re-arming from */
|
||||
#endif
|
||||
@ -289,12 +289,11 @@ int ixgbe_dev_tx_done_cleanup(void *tx_queue, uint32_t free_cnt);
|
||||
extern const uint32_t ptype_table[IXGBE_PACKET_TYPE_MAX];
|
||||
extern const uint32_t ptype_table_tn[IXGBE_PACKET_TYPE_TN_MAX];
|
||||
|
||||
#ifdef RTE_IXGBE_INC_VECTOR
|
||||
|
||||
#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
|
||||
uint16_t ixgbe_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
|
||||
uint16_t nb_pkts);
|
||||
int ixgbe_txq_vec_setup(struct ixgbe_tx_queue *txq);
|
||||
#endif /* RTE_IXGBE_INC_VECTOR */
|
||||
#endif
|
||||
|
||||
uint64_t ixgbe_get_tx_port_offloads(struct rte_eth_dev *dev);
|
||||
uint64_t ixgbe_get_rx_queue_offloads(struct rte_eth_dev *dev);
|
||||
|
@ -25,7 +25,6 @@ sources = files(
|
||||
deps += ['hash', 'security']
|
||||
|
||||
if arch_subdir == 'x86'
|
||||
dpdk_conf.set('RTE_IXGBE_INC_VECTOR', 1)
|
||||
sources += files('ixgbe_rxtx_vec_sse.c')
|
||||
endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user