DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW
@ 2021-02-02  9:06 Leyi Rong
  2021-02-02  9:30 ` Thomas Monjalon
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Leyi Rong @ 2021-02-02  9:06 UTC (permalink / raw)
  To: david.marchand, qi.z.zhang, ferruh.yigit, thomas,
	bruce.richardson, talshn, pallavi.kadam, ranjit.menon,
	beilei.xing, aconole
  Cc: dev, ci, Leyi Rong

Disable i40e AVX512 code path for Windows build regardless of CPU
capability to avoid the MinGW build error:
	Error: invalid register for .seh_savexmm

Signed-off-by: Leyi Rong <leyi.rong@intel.com>
---
 drivers/net/i40e/meson.build | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index f5fc5a17e..26cd201ee 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -56,6 +56,7 @@ if arch_subdir == 'x86'
 
 	if is_windows and cc.get_id() != 'clang'
 		i40e_avx512_cc_support = false
+		i40e_avx512_cpu_support = false
 	endif
 
 	if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
-- 
2.17.1


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

* Re: [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW
  2021-02-02  9:06 [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW Leyi Rong
@ 2021-02-02  9:30 ` Thomas Monjalon
  2021-02-02 10:24 ` Bruce Richardson
  2021-02-02 14:32 ` [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW Leyi Rong
  2 siblings, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2021-02-02  9:30 UTC (permalink / raw)
  To: Leyi Rong
  Cc: david.marchand, qi.z.zhang, ferruh.yigit, bruce.richardson,
	talshn, pallavi.kadam, ranjit.menon, beilei.xing, aconole, dev,
	talshn

02/02/2021 10:06, Leyi Rong:
> Disable i40e AVX512 code path for Windows build regardless of CPU
> capability to avoid the MinGW build error:
> 	Error: invalid register for .seh_savexmm
> 
> Signed-off-by: Leyi Rong <leyi.rong@intel.com>

Please provide a "Fixes:" line.



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

* Re: [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW
  2021-02-02  9:06 [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW Leyi Rong
  2021-02-02  9:30 ` Thomas Monjalon
@ 2021-02-02 10:24 ` Bruce Richardson
  2021-02-02 14:13   ` Tal Shnaiderman
  2021-02-02 14:32 ` [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW Leyi Rong
  2 siblings, 1 reply; 12+ messages in thread
From: Bruce Richardson @ 2021-02-02 10:24 UTC (permalink / raw)
  To: Leyi Rong
  Cc: david.marchand, qi.z.zhang, ferruh.yigit, thomas, talshn,
	pallavi.kadam, ranjit.menon, beilei.xing, aconole, dev, ci

On Tue, Feb 02, 2021 at 05:06:39PM +0800, Leyi Rong wrote:
> Disable i40e AVX512 code path for Windows build regardless of CPU
> capability to avoid the MinGW build error:
> 	Error: invalid register for .seh_savexmm
> 
> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> ---
>  drivers/net/i40e/meson.build | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
> index f5fc5a17e..26cd201ee 100644
> --- a/drivers/net/i40e/meson.build
> +++ b/drivers/net/i40e/meson.build
> @@ -56,6 +56,7 @@ if arch_subdir == 'x86'
>  
>  	if is_windows and cc.get_id() != 'clang'
>  		i40e_avx512_cc_support = false
> +		i40e_avx512_cpu_support = false
>  	endif
>  

This fix seems to imply that there is something else wrong in the logic in
the build file. If the compiler does not support avx512, the fact that the
CPU supports it should be completely irrelevant. Therefore, I think a more
correct fix (logically) should be to remove the "i40e_avx512_cpu_support"
from the next "if" condition, and only check the compiler support. We
don't do anything with the cpu support variable.

/Bruce

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

* Re: [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW
  2021-02-02 10:24 ` Bruce Richardson
@ 2021-02-02 14:13   ` Tal Shnaiderman
  2021-02-02 14:31     ` Rong, Leyi
  0 siblings, 1 reply; 12+ messages in thread
From: Tal Shnaiderman @ 2021-02-02 14:13 UTC (permalink / raw)
  To: Bruce Richardson, Leyi Rong
  Cc: david.marchand, qi.z.zhang, ferruh.yigit,
	NBU-Contact-Thomas Monjalon, pallavi.kadam, ranjit.menon,
	beilei.xing, aconole, dev, ci

> Subject: Re: [PATCH] net/i40e: disable AVX512 with MinGW
> 
> External email: Use caution opening links or attachments
> 
> 
> On Tue, Feb 02, 2021 at 05:06:39PM +0800, Leyi Rong wrote:
> > Disable i40e AVX512 code path for Windows build regardless of CPU
> > capability to avoid the MinGW build error:
> >       Error: invalid register for .seh_savexmm
> >
> > Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> > ---
> >  drivers/net/i40e/meson.build | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/i40e/meson.build
> > b/drivers/net/i40e/meson.build index f5fc5a17e..26cd201ee 100644
> > --- a/drivers/net/i40e/meson.build
> > +++ b/drivers/net/i40e/meson.build
> > @@ -56,6 +56,7 @@ if arch_subdir == 'x86'
> >
> >       if is_windows and cc.get_id() != 'clang'
> >               i40e_avx512_cc_support = false
> > +             i40e_avx512_cpu_support = false
> >       endif
> >
> 
> This fix seems to imply that there is something else wrong in the logic in the
> build file. If the compiler does not support avx512, the fact that the CPU
> supports it should be completely irrelevant. Therefore, I think a more correct
> fix (logically) should be to remove the "i40e_avx512_cpu_support"
> from the next "if" condition, and only check the compiler support. We don't
> do anything with the cpu support variable.

Moreover, this patch doesn't resolve the issue [1].

 [1]  http://mails.dpdk.org/archives/test-report/2021-February/177665.html

> 
> /Bruce

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

* Re: [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW
  2021-02-02 14:13   ` Tal Shnaiderman
@ 2021-02-02 14:31     ` Rong, Leyi
  0 siblings, 0 replies; 12+ messages in thread
From: Rong, Leyi @ 2021-02-02 14:31 UTC (permalink / raw)
  To: Tal Shnaiderman, Richardson, Bruce
  Cc: david.marchand, Zhang, Qi Z, Yigit, Ferruh,
	NBU-Contact-Thomas Monjalon, Kadam, Pallavi, Menon, Ranjit, Xing,
	Beilei, aconole, dev, ci


> -----Original Message-----
> From: Tal Shnaiderman <talshn@nvidia.com>
> Sent: Tuesday, February 2, 2021 10:14 PM
> To: Richardson, Bruce <bruce.richardson@intel.com>; Rong, Leyi
> <leyi.rong@intel.com>
> Cc: david.marchand@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit,
> Ferruh <ferruh.yigit@intel.com>; NBU-Contact-Thomas Monjalon
> <thomas@monjalon.net>; Kadam, Pallavi <pallavi.kadam@intel.com>; Menon,
> Ranjit <ranjit.menon@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> aconole@redhat.com; dev@dpdk.org; ci@dpdk.org
> Subject: RE: [PATCH] net/i40e: disable AVX512 with MinGW
> 
> > Subject: Re: [PATCH] net/i40e: disable AVX512 with MinGW
> >
> > External email: Use caution opening links or attachments
> >
> >
> > On Tue, Feb 02, 2021 at 05:06:39PM +0800, Leyi Rong wrote:
> > > Disable i40e AVX512 code path for Windows build regardless of CPU
> > > capability to avoid the MinGW build error:
> > >       Error: invalid register for .seh_savexmm
> > >
> > > Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> > > ---
> > >  drivers/net/i40e/meson.build | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/drivers/net/i40e/meson.build
> > > b/drivers/net/i40e/meson.build index f5fc5a17e..26cd201ee 100644
> > > --- a/drivers/net/i40e/meson.build
> > > +++ b/drivers/net/i40e/meson.build
> > > @@ -56,6 +56,7 @@ if arch_subdir == 'x86'
> > >
> > >       if is_windows and cc.get_id() != 'clang'
> > >               i40e_avx512_cc_support = false
> > > +             i40e_avx512_cpu_support = false
> > >       endif
> > >
> >
> > This fix seems to imply that there is something else wrong in the
> > logic in the build file. If the compiler does not support avx512, the
> > fact that the CPU supports it should be completely irrelevant.
> > Therefore, I think a more correct fix (logically) should be to remove the
> "i40e_avx512_cpu_support"
> > from the next "if" condition, and only check the compiler support. We
> > don't do anything with the cpu support variable.
> 
> Moreover, this patch doesn't resolve the issue [1].
> 
>  [1]  http://mails.dpdk.org/archives/test-report/2021-February/177665.html
> 

[139/227] Compiling C object drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj.
FAILED: drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj 
gcc @drivers/a715181@@tmp_rte_net_i40e@sta/net_i40e_i40e_rxtx_vec_avx2.c.obj.rsp
{standard input}: Assembler messages:
{standard input}:2024: Error: invalid register for .seh_savexmm
{standard input}:2026: Error: invalid register for .seh_savexmm
{standard input}:2028: Error: invalid register for .seh_savexmm

Seems that avx2 file also causes the same issue, will send a new patch to have the test.

> >
> > /Bruce

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

* [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-02  9:06 [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW Leyi Rong
  2021-02-02  9:30 ` Thomas Monjalon
  2021-02-02 10:24 ` Bruce Richardson
@ 2021-02-02 14:32 ` Leyi Rong
  2021-02-02 23:07   ` Dmitry Kozlyuk
  2 siblings, 1 reply; 12+ messages in thread
From: Leyi Rong @ 2021-02-02 14:32 UTC (permalink / raw)
  To: david.marchand, qi.z.zhang, ferruh.yigit, thomas,
	bruce.richardson, talshn, pallavi.kadam, ranjit.menon,
	beilei.xing, aconole
  Cc: dev, ci, Leyi Rong

Adds extra cflags '-fno-asynchronous-unwind-tables'
to avoid the MinGW build error:
	Error: invalid register for .seh_savexmm

Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")

Signed-off-by: Leyi Rong <leyi.rong@intel.com>
---
 drivers/net/i40e/meson.build | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index f5fc5a17e0..ce3cc658e9 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -28,6 +28,10 @@ includes += include_directories('base')
 if arch_subdir == 'x86'
 	sources += files('i40e_rxtx_vec_sse.c')
 
+	if is_windows and cc.get_id() != 'clang'
+		cflags += ['-fno-asynchronous-unwind-tables']
+	endif
+
 	# compile AVX2 version if either:
 	# a. we have AVX supported in minimum instruction set baseline
 	# b. it's not minimum instruction set, but supported by compiler
@@ -54,10 +58,6 @@ if arch_subdir == 'x86'
 		cc.has_argument('-mavx512f') and
 		cc.has_argument('-mavx512bw'))
 
-	if is_windows and cc.get_id() != 'clang'
-		i40e_avx512_cc_support = false
-	endif
-
 	if i40e_avx512_cpu_support == true or i40e_avx512_cc_support == true
 		cflags += ['-DCC_AVX512_SUPPORT']
 		avx512_args = [cflags, '-mavx512f', '-mavx512bw']
-- 
2.17.1


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

* Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-02 14:32 ` [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW Leyi Rong
@ 2021-02-02 23:07   ` Dmitry Kozlyuk
  2021-02-04 10:41     ` Zhang, Qi Z
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry Kozlyuk @ 2021-02-02 23:07 UTC (permalink / raw)
  To: Leyi Rong
  Cc: david.marchand, qi.z.zhang, ferruh.yigit, thomas,
	bruce.richardson, talshn, pallavi.kadam, ranjit.menon,
	beilei.xing, aconole, dev, ci

On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
> Adds extra cflags '-fno-asynchronous-unwind-tables'
> to avoid the MinGW build error:
> 	Error: invalid register for .seh_savexmm
> 
> Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
> 
> Signed-off-by: Leyi Rong <leyi.rong@intel.com>

Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>

Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux, I
observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it that this
option somehow affects GCC inlining heuristics. Similar issue existed in
librte_acl (at least a year ago win GCC 6, I believe), where GCC generated
incorrect code unless certain functions had been inlined (caught by test
app). No an AVX expert, just my 2c.

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

* Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-02 23:07   ` Dmitry Kozlyuk
@ 2021-02-04 10:41     ` Zhang, Qi Z
  2021-02-04 12:36       ` Ferruh Yigit
  0 siblings, 1 reply; 12+ messages in thread
From: Zhang, Qi Z @ 2021-02-04 10:41 UTC (permalink / raw)
  To: Dmitry Kozlyuk, Rong, Leyi
  Cc: david.marchand, Yigit, Ferruh, thomas, Richardson, Bruce, talshn,
	Kadam, Pallavi, Menon, Ranjit, Xing, Beilei, aconole, dev, ci



> -----Original Message-----
> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> Sent: Wednesday, February 3, 2021 7:08 AM
> To: Rong, Leyi <leyi.rong@intel.com>
> Cc: david.marchand@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit,
> Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Richardson, Bruce
> <bruce.richardson@intel.com>; talshn@nvidia.com; Kadam, Pallavi
> <pallavi.kadam@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Xing,
> Beilei <beilei.xing@intel.com>; aconole@redhat.com; dev@dpdk.org;
> ci@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
> 
> On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
> > Adds extra cflags '-fno-asynchronous-unwind-tables'
> > to avoid the MinGW build error:
> > 	Error: invalid register for .seh_savexmm
> >
> > Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
> >
> > Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> 
> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux, I
> observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it that this
> option somehow affects GCC inlining heuristics. Similar issue existed in
> librte_acl (at least a year ago win GCC 6, I believe), where GCC generated
> incorrect code unless certain functions had been inlined (caught by test app).
> No an AVX expert, just my 2c.

Applied to dpdk-next-net-intel.

Thanks
Qi

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

* Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-04 10:41     ` Zhang, Qi Z
@ 2021-02-04 12:36       ` Ferruh Yigit
  2021-02-04 12:59         ` Thomas Monjalon
  2021-02-04 13:43         ` David Marchand
  0 siblings, 2 replies; 12+ messages in thread
From: Ferruh Yigit @ 2021-02-04 12:36 UTC (permalink / raw)
  To: Zhang, Qi Z, Dmitry Kozlyuk, Rong, Leyi, thomas, david.marchand
  Cc: Richardson, Bruce, talshn, Kadam, Pallavi, Menon, Ranjit, Xing,
	Beilei, aconole, dev, ci

On 2/4/2021 10:41 AM, Zhang, Qi Z wrote:
> 
> 
>> -----Original Message-----
>> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
>> Sent: Wednesday, February 3, 2021 7:08 AM
>> To: Rong, Leyi <leyi.rong@intel.com>
>> Cc: david.marchand@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit,
>> Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Richardson, Bruce
>> <bruce.richardson@intel.com>; talshn@nvidia.com; Kadam, Pallavi
>> <pallavi.kadam@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Xing,
>> Beilei <beilei.xing@intel.com>; aconole@redhat.com; dev@dpdk.org;
>> ci@dpdk.org
>> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
>>
>> On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
>>> Adds extra cflags '-fno-asynchronous-unwind-tables'
>>> to avoid the MinGW build error:
>>> 	Error: invalid register for .seh_savexmm
>>>
>>> Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
>>>
>>> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
>>
>> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
>>
>> Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux, I
>> observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it that this
>> option somehow affects GCC inlining heuristics. Similar issue existed in
>> librte_acl (at least a year ago win GCC 6, I believe), where GCC generated
>> incorrect code unless certain functions had been inlined (caught by test app).
>> No an AVX expert, just my 2c.
> 
> Applied to dpdk-next-net-intel.
> 

Hi Thomas, David,

Do you prefer to get this directly to the main repo, since it is fixing the 
windows build?

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

* Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-04 12:36       ` Ferruh Yigit
@ 2021-02-04 12:59         ` Thomas Monjalon
  2021-02-04 13:43         ` David Marchand
  1 sibling, 0 replies; 12+ messages in thread
From: Thomas Monjalon @ 2021-02-04 12:59 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Zhang, Qi Z, Dmitry Kozlyuk, Rong, Leyi, david.marchand,
	Richardson, Bruce, talshn, Kadam, Pallavi, Menon, Ranjit, Xing,
	Beilei, aconole, dev, ci

04/02/2021 13:36, Ferruh Yigit:
> On 2/4/2021 10:41 AM, Zhang, Qi Z wrote:
> > From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> >> On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
> >>> Adds extra cflags '-fno-asynchronous-unwind-tables'
> >>> to avoid the MinGW build error:
> >>> 	Error: invalid register for .seh_savexmm
> >>>
> >>> Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
> >>>
> >>> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> >>
> >> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> >>
> >> Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux, I
> >> observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it that this
> >> option somehow affects GCC inlining heuristics. Similar issue existed in
> >> librte_acl (at least a year ago win GCC 6, I believe), where GCC generated
> >> incorrect code unless certain functions had been inlined (caught by test app).
> >> No an AVX expert, just my 2c.
> > 
> > Applied to dpdk-next-net-intel.
> > 
> 
> Hi Thomas, David,
> 
> Do you prefer to get this directly to the main repo, since it is fixing the 
> windows build?

Given it will be pulled shortly, I think it's OK through next-net.



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

* Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-04 12:36       ` Ferruh Yigit
  2021-02-04 12:59         ` Thomas Monjalon
@ 2021-02-04 13:43         ` David Marchand
  2021-02-04 21:57           ` [dpdk-dev] [dpdk-ci] " Lincoln Lavoie
  1 sibling, 1 reply; 12+ messages in thread
From: David Marchand @ 2021-02-04 13:43 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Zhang, Qi Z, Dmitry Kozlyuk, Rong, Leyi, thomas, Richardson,
	Bruce, talshn, Kadam, Pallavi, Menon, Ranjit, Xing, Beilei,
	aconole, dev, ci

On Thu, Feb 4, 2021 at 1:36 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> On 2/4/2021 10:41 AM, Zhang, Qi Z wrote:
> >
> >
> >> -----Original Message-----
> >> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> >> Sent: Wednesday, February 3, 2021 7:08 AM
> >> To: Rong, Leyi <leyi.rong@intel.com>
> >> Cc: david.marchand@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>; Yigit,
> >> Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Richardson, Bruce
> >> <bruce.richardson@intel.com>; talshn@nvidia.com; Kadam, Pallavi
> >> <pallavi.kadam@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>; Xing,
> >> Beilei <beilei.xing@intel.com>; aconole@redhat.com; dev@dpdk.org;
> >> ci@dpdk.org
> >> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW
> >>
> >> On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
> >>> Adds extra cflags '-fno-asynchronous-unwind-tables'
> >>> to avoid the MinGW build error:
> >>>     Error: invalid register for .seh_savexmm
> >>>
> >>> Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
> >>>
> >>> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> >>
> >> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> >>
> >> Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux, I
> >> observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it that this
> >> option somehow affects GCC inlining heuristics. Similar issue existed in
> >> librte_acl (at least a year ago win GCC 6, I believe), where GCC generated
> >> incorrect code unless certain functions had been inlined (caught by test app).
> >> No an AVX expert, just my 2c.
> >
> > Applied to dpdk-next-net-intel.
> >
>
> Hi Thomas, David,
>
> Do you prefer to get this directly to the main repo, since it is fixing the
> windows build?

I have no issue with the main branch for mingw.
The windows builds at UNH seem unavailable, so we can wait for the
next-net merge.


-- 
David Marchand


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

* Re: [dpdk-dev] [dpdk-ci] [PATCH v2] net/i40e: fix avx code error on MinGW
  2021-02-04 13:43         ` David Marchand
@ 2021-02-04 21:57           ` Lincoln Lavoie
  0 siblings, 0 replies; 12+ messages in thread
From: Lincoln Lavoie @ 2021-02-04 21:57 UTC (permalink / raw)
  To: David Marchand
  Cc: Ferruh Yigit, Zhang, Qi Z, Dmitry Kozlyuk, Rong, Leyi, thomas,
	Richardson, Bruce, talshn, Kadam, Pallavi, Menon, Ranjit, Xing,
	Beilei, aconole, dev, ci

Hi All,

The jobs for Windows compile are running, so it may just be the patch
hasn't caught up in the queue.

Cheers,
Lincoln

On Thu, Feb 4, 2021 at 8:43 AM David Marchand <david.marchand@redhat.com>
wrote:

> On Thu, Feb 4, 2021 at 1:36 PM Ferruh Yigit <ferruh.yigit@intel.com>
> wrote:
> >
> > On 2/4/2021 10:41 AM, Zhang, Qi Z wrote:
> > >
> > >
> > >> -----Original Message-----
> > >> From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > >> Sent: Wednesday, February 3, 2021 7:08 AM
> > >> To: Rong, Leyi <leyi.rong@intel.com>
> > >> Cc: david.marchand@redhat.com; Zhang, Qi Z <qi.z.zhang@intel.com>;
> Yigit,
> > >> Ferruh <ferruh.yigit@intel.com>; thomas@monjalon.net; Richardson,
> Bruce
> > >> <bruce.richardson@intel.com>; talshn@nvidia.com; Kadam, Pallavi
> > >> <pallavi.kadam@intel.com>; Menon, Ranjit <ranjit.menon@intel.com>;
> Xing,
> > >> Beilei <beilei.xing@intel.com>; aconole@redhat.com; dev@dpdk.org;
> > >> ci@dpdk.org
> > >> Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on
> MinGW
> > >>
> > >> On Tue,  2 Feb 2021 22:32:58 +0800, Leyi Rong wrote:
> > >>> Adds extra cflags '-fno-asynchronous-unwind-tables'
> > >>> to avoid the MinGW build error:
> > >>>     Error: invalid register for .seh_savexmm
> > >>>
> > >>> Fixes: 5c38c33f7880 ("net/i40e: disable AVX512 with MinGW")
> > >>>
> > >>> Signed-off-by: Leyi Rong <leyi.rong@intel.com>
> > >>
> > >> Tested-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> > >>
> > >> Re: -fno-asynchronous-unwind-tables, when cross-compiling from Linux,
> I
> > >> observe bit-to-bit identical i40e_rxtx_vec_avx512.c.obj. My guess it
> that this
> > >> option somehow affects GCC inlining heuristics. Similar issue existed
> in
> > >> librte_acl (at least a year ago win GCC 6, I believe), where GCC
> generated
> > >> incorrect code unless certain functions had been inlined (caught by
> test app).
> > >> No an AVX expert, just my 2c.
> > >
> > > Applied to dpdk-next-net-intel.
> > >
> >
> > Hi Thomas, David,
> >
> > Do you prefer to get this directly to the main repo, since it is fixing
> the
> > windows build?
>
> I have no issue with the main branch for mingw.
> The windows builds at UNH seem unavailable, so we can wait for the
> next-net merge.
>
>
> --
> David Marchand
>
>

-- 
*Lincoln Lavoie*
Principal Engineer, Broadband Technologies
21 Madbury Rd., Ste. 100, Durham, NH 03824
lylavoie@iol.unh.edu
https://www.iol.unh.edu
+1-603-674-2755 (m)
<https://www.iol.unh.edu>

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

end of thread, other threads:[~2021-02-04 21:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-02  9:06 [dpdk-dev] [PATCH] net/i40e: disable AVX512 with MinGW Leyi Rong
2021-02-02  9:30 ` Thomas Monjalon
2021-02-02 10:24 ` Bruce Richardson
2021-02-02 14:13   ` Tal Shnaiderman
2021-02-02 14:31     ` Rong, Leyi
2021-02-02 14:32 ` [dpdk-dev] [PATCH v2] net/i40e: fix avx code error on MinGW Leyi Rong
2021-02-02 23:07   ` Dmitry Kozlyuk
2021-02-04 10:41     ` Zhang, Qi Z
2021-02-04 12:36       ` Ferruh Yigit
2021-02-04 12:59         ` Thomas Monjalon
2021-02-04 13:43         ` David Marchand
2021-02-04 21:57           ` [dpdk-dev] [dpdk-ci] " Lincoln Lavoie

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).