DPDK patches and discussions
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: wenzhuo.lu@intel.com, Beilei Xing <beilei.xing@intel.com>
Subject: Re: [dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD
Date: Wed, 18 Aug 2021 17:42:49 +0100	[thread overview]
Message-ID: <YR04ibLo4hotuBtI@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <20210818163816.19143-1-bruce.richardson@intel.com>

On Wed, Aug 18, 2021 at 05:38:15PM +0100, Bruce Richardson wrote:
> 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)
>  {

On a higher-level, I'd suggest we look to remove the use of these macros
and AVX code in general from this header file (and ice driver equivalent).
IIRC this file was originally meant to contain only the "common" code i.e.
the scalar code, to be shared among vector implementations. Having AVX code
in this file can lead to these sorts of bugs and just makes the file no
longer truely common. The code in question here, should probably go in a
"common_avx" header, which means that we can remove the AVX2 conditions
from it etc.

/Bruce

  parent reply	other threads:[~2021-08-18 16:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-10 18:27 [dpdk-dev] [Bug 788] i40e: 16BYTE_RX_DESC build broken on FreeBSD-13 bugzilla
2021-08-18 16:38 ` [dpdk-dev] [PATCH 1/2] net/i40e: fix generic build on FreeBSD Bruce Richardson
2021-08-18 16:38   ` [dpdk-dev] [PATCH 2/2] net/ice: " Bruce Richardson
2021-08-30  8:18     ` Rong, Leyi
2021-09-01  6:24       ` Zhang, Qi Z
2021-08-18 16:42   ` Bruce Richardson [this message]
2021-09-03 10:00     ` [dpdk-dev] [PATCH 1/2] net/i40e: " Ferruh Yigit
2021-09-01  6:23   ` Zhang, Qi Z
2021-09-29 12:13 Leyi Rong
2021-10-18 21:35 ` Ferruh Yigit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YR04ibLo4hotuBtI@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).