Re: [dpdk-dev] [PATCH] net/ice: cleanup for vec path check
From: Ferruh Yigit <hidden>
Date: 2020-01-16 10:19:39
On 1/16/2020 7:09 AM, Xiaolong Ye wrote:
Move the conditional compilation block to the inner check helper, so we can reduce the number of multiple ifdef check pairs used. Signed-off-by: Xiaolong Ye <redacted>
<...>
quoted hunk ↗ jump to hunk
@@ -2794,10 +2792,8 @@ ice_tx_done_cleanup(void *txq, uint32_t free_cnt) struct ice_adapter *ad = ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); -#ifdef RTE_ARCH_X86 if (ad->tx_vec_allowed) return ice_tx_done_cleanup_vec(q, free_cnt); -#endif if (ad->tx_simple_allowed) return ice_tx_done_cleanup_simple(q, free_cnt); else@@ -2953,7 +2949,6 @@ ice_set_rx_function(struct rte_eth_dev *dev) PMD_INIT_FUNC_TRACE(); struct ice_adapter *ad = ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); -#ifdef RTE_ARCH_X86 struct ice_rx_queue *rxq; int i; bool use_avx2 = false;
The build is still failing for arm, some defines like 'RTE_CPUFLAG_AVX2' & 'RTE_CPUFLAG_AVX512F' or functions 'ice_rxq_vec_setup', 'ice_recv_pkts_vec', 'ice_recv_scattered_pkts_vec' etc only defined for x86 It looks like more work is required, to created dummy versions of these failin functions also moving 'ice_rx_vec_dev_check()' form 'ice_rxtx_vec_sse.c' to 'ice_rxtx.c', otherwise we are having chicken-egg problem. So needs something similar to done in i40e. If it is too much work for rc1, we can with existing #ifdef for now, up to you.