patches for DPDK stable branches
 help / color / mirror / Atom feed
* Re: [dpdk-stable] [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i
@ 2021-07-14  1:06 Lu, Wenzhuo
  2021-08-02  0:17 ` [dpdk-stable] [dpdk-dev] " Zhang, Qi Z
  0 siblings, 1 reply; 2+ messages in thread
From: Lu, Wenzhuo @ 2021-07-14  1:06 UTC (permalink / raw)
  To: shaikh; +Cc: dev, stable, Xing, Beilei

Hi Shahed,



> -----Original Message-----

> From: Shahed Shaikh <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>

> Sent: Tuesday, June 22, 2021 5:37 PM

> To: Xing, Beilei <beilei.xing@intel.com<mailto:beilei.xing@intel.com>>

> Cc: dev@dpdk.org<mailto:dev@dpdk.org>; Shahed Shaikh <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>;

> stable@dpdk.org<mailto:stable@dpdk.org>

> Subject: [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i

>

> i40e_rxtx_vec_sse.c fails to compile with below configuration:

> - #define RTE_LIBRTE_I40E_16BYTE_RX_DESC 1 in config/rte_config.h

> - cpu=core-axv-i

> - gcc which supports -mavx2 (e.g. gcc 4.8.5)

>

> This is because commit 0604b1f2208f ("net/i40e: fix crash in AVX512")

> added

> i40e_rxq_rearm_common() to i40e_rxtx_vec_common.h which is included by

> i40e_rxtx_vec_sse.c.

>

> This function is enabled for compilation if CC_AVX2_SUPPORT is defined.

> As per drivers/net/i40e/meson.build, CC_AVX2_SUPPORT is defined when

> either CPU supports __AVX2__ or compiler supports -mavx2 option.

>

> So for given configuration, CC_AVX2_SUPPORT gets defined but we don't

> pass -mavx2 explicitly to gcc while compiling i40e_rxtx_vec_sse.c.

Looks like it's better and more clear if a new specific avx head file is added.

Just want to understand more about the problem. I don't see the same problem when using 'gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)', don't understand why -mavx2 is missing.

And more, if so, why the avx2 code doesn't meet the same problem?

Thanks.



> Hence it fails due to avx2 specific code from i40e_rxq_rearm_command().

>

> This patch tries to fix the compilation by moving

> i40e_rxq_rearm_common() to a new header file which will only be

> included by i40e_rxtx_vec_avx2.c and i40e_rxtx_vec_avx512.c.

>

> Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")

> Cc: stable@dpdk.org<mailto:stable@dpdk.org>

>

> Signed-off-by: Shahed Shaikh <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i
  2021-07-14  1:06 [dpdk-stable] [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i Lu, Wenzhuo
@ 2021-08-02  0:17 ` Zhang, Qi Z
  0 siblings, 0 replies; 2+ messages in thread
From: Zhang, Qi Z @ 2021-08-02  0:17 UTC (permalink / raw)
  To: Lu, Wenzhuo, shaikh; +Cc: dev, stable, Xing, Beilei

Hi Shahed, Could you answer Wenzhuo' s question?


> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Lu, Wenzhuo
> Sent: Wednesday, July 14, 2021 9:06 AM
> To: shaikh@niometrics.com
> Cc: dev@dpdk.org; stable@dpdk.org; Xing, Beilei <beilei.xing@intel.com>
> Subject: Re: [dpdk-dev] [PATCH 1/1] net/i40e: fix compilation failure on
> core-avx-i
> 
> Hi Shahed,
> 
> 
> 
> > -----Original Message-----
> 
> > From: Shahed Shaikh
> <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>
> 
> > Sent: Tuesday, June 22, 2021 5:37 PM
> 
> > To: Xing, Beilei <beilei.xing@intel.com<mailto:beilei.xing@intel.com>>
> 
> > Cc: dev@dpdk.org<mailto:dev@dpdk.org>; Shahed Shaikh
> <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>;
> 
> > stable@dpdk.org<mailto:stable@dpdk.org>
> 
> > Subject: [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i
> 
> >
> 
> > i40e_rxtx_vec_sse.c fails to compile with below configuration:
> 
> > - #define RTE_LIBRTE_I40E_16BYTE_RX_DESC 1 in config/rte_config.h
> 
> > - cpu=core-axv-i
> 
> > - gcc which supports -mavx2 (e.g. gcc 4.8.5)
> 
> >
> 
> > This is because commit 0604b1f2208f ("net/i40e: fix crash in AVX512")
> 
> > added
> 
> > i40e_rxq_rearm_common() to i40e_rxtx_vec_common.h which is included by
> 
> > i40e_rxtx_vec_sse.c.
> 
> >
> 
> > This function is enabled for compilation if CC_AVX2_SUPPORT is defined.
> 
> > As per drivers/net/i40e/meson.build, CC_AVX2_SUPPORT is defined when
> 
> > either CPU supports __AVX2__ or compiler supports -mavx2 option.
> 
> >
> 
> > So for given configuration, CC_AVX2_SUPPORT gets defined but we don't
> 
> > pass -mavx2 explicitly to gcc while compiling i40e_rxtx_vec_sse.c.
> 
> Looks like it's better and more clear if a new specific avx head file is added.
> 
> Just want to understand more about the problem. I don't see the same
> problem when using 'gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)',
> don't understand why -mavx2 is missing.
> 
> And more, if so, why the avx2 code doesn't meet the same problem?
> 
> Thanks.
> 
> 
> 
> > Hence it fails due to avx2 specific code from i40e_rxq_rearm_command().
> 
> >
> 
> > This patch tries to fix the compilation by moving
> 
> > i40e_rxq_rearm_common() to a new header file which will only be
> 
> > included by i40e_rxtx_vec_avx2.c and i40e_rxtx_vec_avx512.c.
> 
> >
> 
> > Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")
> 
> > Cc: stable@dpdk.org<mailto:stable@dpdk.org>
> 
> >
> 
> > Signed-off-by: Shahed Shaikh
> <shaikh@niometrics.com<mailto:shaikh@niometrics.com>>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-08-02  0:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-14  1:06 [dpdk-stable] [PATCH 1/1] net/i40e: fix compilation failure on core-avx-i Lu, Wenzhuo
2021-08-02  0:17 ` [dpdk-stable] [dpdk-dev] " Zhang, Qi Z

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git