* [dpdk-stable] [PATCH 1/2] net/i40e: fix generic build on FreeBSD [not found] <bug-788-3@http.bugs.dpdk.org/> @ 2021-08-18 16:38 ` Bruce Richardson 2021-08-18 16:38 ` [dpdk-stable] [PATCH 2/2] net/ice: " Bruce Richardson 2021-09-01 6:23 ` [dpdk-stable] [dpdk-dev] [PATCH 1/2] net/i40e: " Zhang, Qi Z 0 siblings, 2 replies; 5+ messages in thread From: Bruce Richardson @ 2021-08-18 16:38 UTC (permalink / raw) To: dev; +Cc: brian90013, Bruce Richardson, wenzhuo.lu, stable, Beilei Xing The common header file for vectorization is included in multiple files, and so must use macros for the current compilation unit, rather than the compiler-capability flag set for the whole driver. With the current, incorrect, macro, the AVX512 or AVX2 flags may be set when compiling up SSE code, leading to compilation errors. Changing from "CC_AVX*_SUPPORT" to the compiler-defined "__AVX*__" macros fixes this issue. Bugzilla ID: 788 Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512") Cc: wenzhuo.lu@intel.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h index f52ed98d62..65715ed1ce 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_common.h +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h @@ -268,7 +268,7 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev) #endif } -#ifdef CC_AVX2_SUPPORT +#ifdef __AVX2__ static __rte_always_inline void i40e_rxq_rearm_common(struct i40e_rx_queue *rxq, __rte_unused bool avx512) { @@ -329,7 +329,7 @@ i40e_rxq_rearm_common(struct i40e_rx_queue *rxq, __rte_unused bool avx512) _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1); } #else -#ifdef CC_AVX512_SUPPORT +#ifdef __AVX512VL__ if (avx512) { struct rte_mbuf *mb0, *mb1, *mb2, *mb3; struct rte_mbuf *mb4, *mb5, *mb6, *mb7; -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-stable] [PATCH 2/2] net/ice: fix generic build on FreeBSD 2021-08-18 16:38 ` [dpdk-stable] [PATCH 1/2] net/i40e: fix generic build on FreeBSD Bruce Richardson @ 2021-08-18 16:38 ` Bruce Richardson 2021-08-30 8:18 ` Rong, Leyi 2021-09-01 6:23 ` [dpdk-stable] [dpdk-dev] [PATCH 1/2] net/i40e: " Zhang, Qi Z 1 sibling, 1 reply; 5+ messages in thread From: Bruce Richardson @ 2021-08-18 16:38 UTC (permalink / raw) To: dev Cc: brian90013, Bruce Richardson, wenzhuo.lu, leyi.rong, stable, Qiming Yang, Qi Zhang The common header file for vectorization is included in multiple files, and so must use macros for the current compilation unit, rather than the compiler-capability flag set for the whole driver. With the current, incorrect, macro, the AVX512 or AVX2 flags may be set when compiling up SSE code, leading to compilation errors. Changing from "CC_AVX*_SUPPORT" to the compiler-defined "__AVX*__" macros fixes this issue. Bugzilla ID: 788 Fixes: a4e480de268e ("net/ice: optimize Tx by using AVX512") Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512") Cc: wenzhuo.lu@intel.com Cc: leyi.rong@intel.com Cc: stable@dpdk.org Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- drivers/net/ice/ice_rxtx_vec_common.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h index 2d8ef7dc8a..e609a75fc6 100644 --- a/drivers/net/ice/ice_rxtx_vec_common.h +++ b/drivers/net/ice/ice_rxtx_vec_common.h @@ -194,7 +194,7 @@ _ice_tx_queue_release_mbufs_vec(struct ice_tx_queue *txq) */ i = txq->tx_next_dd - txq->tx_rs_thresh + 1; -#ifdef CC_AVX512_SUPPORT +#ifdef __AVX512VL__ struct rte_eth_dev *dev = &rte_eth_devices[txq->vsi->adapter->pf.dev_data->port_id]; if (dev->tx_pkt_burst == ice_xmit_pkts_vec_avx512 || @@ -352,7 +352,7 @@ ice_tx_vec_dev_check_default(struct rte_eth_dev *dev) return result; } -#ifdef CC_AVX2_SUPPORT +#ifdef __AVX2__ static __rte_always_inline void ice_rxq_rearm_common(struct ice_rx_queue *rxq, __rte_unused bool avx512) { @@ -414,7 +414,7 @@ ice_rxq_rearm_common(struct ice_rx_queue *rxq, __rte_unused bool avx512) _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1); } #else -#ifdef CC_AVX512_SUPPORT +#ifdef __AVX512VL__ if (avx512) { struct rte_mbuf *mb0, *mb1, *mb2, *mb3; struct rte_mbuf *mb4, *mb5, *mb6, *mb7; -- 2.30.2 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH 2/2] net/ice: fix generic build on FreeBSD 2021-08-18 16:38 ` [dpdk-stable] [PATCH 2/2] net/ice: " Bruce Richardson @ 2021-08-30 8:18 ` Rong, Leyi 2021-09-01 6:24 ` Zhang, Qi Z 0 siblings, 1 reply; 5+ messages in thread From: Rong, Leyi @ 2021-08-30 8:18 UTC (permalink / raw) To: Richardson, Bruce, dev Cc: brian90013, Lu, Wenzhuo, stable, Yang, Qiming, Zhang, Qi Z > -----Original Message----- > From: Richardson, Bruce <bruce.richardson@intel.com> > Sent: Thursday, August 19, 2021 12:38 AM > To: dev@dpdk.org > Cc: brian90013@gmail.com; Richardson, Bruce <bruce.richardson@intel.com>; > Lu, Wenzhuo <wenzhuo.lu@intel.com>; Rong, Leyi <leyi.rong@intel.com>; > stable@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z > <qi.z.zhang@intel.com> > Subject: [PATCH 2/2] net/ice: fix generic build on FreeBSD > > The common header file for vectorization is included in multiple files, and so > must use macros for the current compilation unit, rather than the compiler- > capability flag set for the whole driver. With the current, incorrect, macro, the > AVX512 or AVX2 flags may be set when compiling up SSE code, leading to > compilation errors. Changing from "CC_AVX*_SUPPORT" > to the compiler-defined "__AVX*__" macros fixes this issue. > > Bugzilla ID: 788 > Fixes: a4e480de268e ("net/ice: optimize Tx by using AVX512") > Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512") > Cc: wenzhuo.lu@intel.com > Cc: leyi.rong@intel.com > Cc: stable@dpdk.org > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > --- > drivers/net/ice/ice_rxtx_vec_common.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ice/ice_rxtx_vec_common.h > b/drivers/net/ice/ice_rxtx_vec_common.h > index 2d8ef7dc8a..e609a75fc6 100644 > --- a/drivers/net/ice/ice_rxtx_vec_common.h > +++ b/drivers/net/ice/ice_rxtx_vec_common.h > @@ -194,7 +194,7 @@ _ice_tx_queue_release_mbufs_vec(struct ice_tx_queue > *txq) > */ > i = txq->tx_next_dd - txq->tx_rs_thresh + 1; > > -#ifdef CC_AVX512_SUPPORT > +#ifdef __AVX512VL__ > struct rte_eth_dev *dev = &rte_eth_devices[txq->vsi->adapter- > >pf.dev_data->port_id]; > > if (dev->tx_pkt_burst == ice_xmit_pkts_vec_avx512 || @@ -352,7 > +352,7 @@ ice_tx_vec_dev_check_default(struct rte_eth_dev *dev) > return result; > } > > -#ifdef CC_AVX2_SUPPORT > +#ifdef __AVX2__ > static __rte_always_inline void > ice_rxq_rearm_common(struct ice_rx_queue *rxq, __rte_unused bool avx512) > { @@ -414,7 +414,7 @@ ice_rxq_rearm_common(struct ice_rx_queue *rxq, > __rte_unused bool avx512) > _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1); > } > #else > -#ifdef CC_AVX512_SUPPORT > +#ifdef __AVX512VL__ > if (avx512) { > struct rte_mbuf *mb0, *mb1, *mb2, *mb3; > struct rte_mbuf *mb4, *mb5, *mb6, *mb7; > -- > 2.30.2 Acked-by: Leyi Rong <leyi.rong@intel.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [PATCH 2/2] net/ice: fix generic build on FreeBSD 2021-08-30 8:18 ` Rong, Leyi @ 2021-09-01 6:24 ` Zhang, Qi Z 0 siblings, 0 replies; 5+ messages in thread From: Zhang, Qi Z @ 2021-09-01 6:24 UTC (permalink / raw) To: Rong, Leyi, Richardson, Bruce, dev Cc: brian90013, Lu, Wenzhuo, stable, Yang, Qiming > -----Original Message----- > From: Rong, Leyi <leyi.rong@intel.com> > Sent: Monday, August 30, 2021 4:18 PM > To: Richardson, Bruce <bruce.richardson@intel.com>; dev@dpdk.org > Cc: brian90013@gmail.com; Lu, Wenzhuo <wenzhuo.lu@intel.com>; > stable@dpdk.org; Yang, Qiming <qiming.yang@intel.com>; Zhang, Qi Z > <qi.z.zhang@intel.com> > Subject: RE: [PATCH 2/2] net/ice: fix generic build on FreeBSD > > > > -----Original Message----- > > From: Richardson, Bruce <bruce.richardson@intel.com> > > Sent: Thursday, August 19, 2021 12:38 AM > > To: dev@dpdk.org > > Cc: brian90013@gmail.com; Richardson, Bruce > > <bruce.richardson@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; > > Rong, Leyi <leyi.rong@intel.com>; stable@dpdk.org; Yang, Qiming > > <qiming.yang@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com> > > Subject: [PATCH 2/2] net/ice: fix generic build on FreeBSD > > > > The common header file for vectorization is included in multiple > > files, and so must use macros for the current compilation unit, rather > > than the compiler- capability flag set for the whole driver. With the > > current, incorrect, macro, the > > AVX512 or AVX2 flags may be set when compiling up SSE code, leading to > > compilation errors. Changing from "CC_AVX*_SUPPORT" > > to the compiler-defined "__AVX*__" macros fixes this issue. > > > > Bugzilla ID: 788 > > Fixes: a4e480de268e ("net/ice: optimize Tx by using AVX512") > > Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512") > > Cc: wenzhuo.lu@intel.com > > Cc: leyi.rong@intel.com > > Cc: stable@dpdk.org > > > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > > --- > > drivers/net/ice/ice_rxtx_vec_common.h | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/net/ice/ice_rxtx_vec_common.h > > b/drivers/net/ice/ice_rxtx_vec_common.h > > index 2d8ef7dc8a..e609a75fc6 100644 > > --- a/drivers/net/ice/ice_rxtx_vec_common.h > > +++ b/drivers/net/ice/ice_rxtx_vec_common.h > > @@ -194,7 +194,7 @@ _ice_tx_queue_release_mbufs_vec(struct > > ice_tx_queue > > *txq) > > */ > > i = txq->tx_next_dd - txq->tx_rs_thresh + 1; > > > > -#ifdef CC_AVX512_SUPPORT > > +#ifdef __AVX512VL__ > > struct rte_eth_dev *dev = &rte_eth_devices[txq->vsi->adapter- > > >pf.dev_data->port_id]; > > > > if (dev->tx_pkt_burst == ice_xmit_pkts_vec_avx512 || @@ -352,7 > > +352,7 @@ ice_tx_vec_dev_check_default(struct rte_eth_dev *dev) > > return result; > > } > > > > -#ifdef CC_AVX2_SUPPORT > > +#ifdef __AVX2__ > > static __rte_always_inline void > > ice_rxq_rearm_common(struct ice_rx_queue *rxq, __rte_unused bool > > avx512) { @@ -414,7 +414,7 @@ ice_rxq_rearm_common(struct > ice_rx_queue > > *rxq, __rte_unused bool avx512) > > _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1); > > } > > #else > > -#ifdef CC_AVX512_SUPPORT > > +#ifdef __AVX512VL__ > > if (avx512) { > > struct rte_mbuf *mb0, *mb1, *mb2, *mb3; > > struct rte_mbuf *mb4, *mb5, *mb6, *mb7; > > -- > > 2.30.2 > > Acked-by: Leyi Rong <leyi.rong@intel.com> Applied to dpdk-next-net-intel. Thanks Qi ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD 2021-08-18 16:38 ` [dpdk-stable] [PATCH 1/2] net/i40e: fix generic build on FreeBSD Bruce Richardson 2021-08-18 16:38 ` [dpdk-stable] [PATCH 2/2] net/ice: " Bruce Richardson @ 2021-09-01 6:23 ` Zhang, Qi Z 1 sibling, 0 replies; 5+ messages in thread From: Zhang, Qi Z @ 2021-09-01 6:23 UTC (permalink / raw) To: Richardson, Bruce, dev Cc: brian90013, Richardson, Bruce, Lu, Wenzhuo, stable, Xing, Beilei > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Bruce Richardson > Sent: Thursday, August 19, 2021 12:38 AM > To: dev@dpdk.org > Cc: brian90013@gmail.com; Richardson, Bruce <bruce.richardson@intel.com>; > Lu, Wenzhuo <wenzhuo.lu@intel.com>; stable@dpdk.org; Xing, Beilei > <beilei.xing@intel.com> > Subject: [dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD > > The common header file for vectorization is included in multiple files, and so > must use macros for the current compilation unit, rather than the > compiler-capability flag set for the whole driver. With the current, incorrect, > macro, the AVX512 or AVX2 flags may be set when compiling up SSE code, > leading to compilation errors. Changing from "CC_AVX*_SUPPORT" > to the compiler-defined "__AVX*__" macros fixes this issue. > > Bugzilla ID: 788 > Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512") > Cc: wenzhuo.lu@intel.com > Cc: stable@dpdk.org > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > --- > drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h > b/drivers/net/i40e/i40e_rxtx_vec_common.h > index f52ed98d62..65715ed1ce 100644 > --- a/drivers/net/i40e/i40e_rxtx_vec_common.h > +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h > @@ -268,7 +268,7 @@ > i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev) > #endif } > > -#ifdef CC_AVX2_SUPPORT > +#ifdef __AVX2__ > static __rte_always_inline void > i40e_rxq_rearm_common(struct i40e_rx_queue *rxq, __rte_unused bool > avx512) { @@ -329,7 +329,7 @@ i40e_rxq_rearm_common(struct > i40e_rx_queue *rxq, __rte_unused bool avx512) > _mm_store_si128((__m128i *)&rxdp++->read, dma_addr1); > } > #else > -#ifdef CC_AVX512_SUPPORT > +#ifdef __AVX512VL__ > if (avx512) { > struct rte_mbuf *mb0, *mb1, *mb2, *mb3; > struct rte_mbuf *mb4, *mb5, *mb6, *mb7; > -- > 2.30.2 Applied to dpdk-next-net-intel. Thanks Qi ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-09-01 6:24 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <bug-788-3@http.bugs.dpdk.org/> 2021-08-18 16:38 ` [dpdk-stable] [PATCH 1/2] net/i40e: fix generic build on FreeBSD Bruce Richardson 2021-08-18 16:38 ` [dpdk-stable] [PATCH 2/2] net/ice: " Bruce Richardson 2021-08-30 8:18 ` Rong, Leyi 2021-09-01 6:24 ` Zhang, Qi Z 2021-09-01 6:23 ` [dpdk-stable] [dpdk-dev] [PATCH 1/2] net/i40e: " Zhang, Qi Z
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).