DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Kadam, Pallavi" <pallavi.kadam@intel.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
	Ali Alnubani <alialnu@nvidia.com>,
	 David Marchand <david.marchand@redhat.com>,
	NBU-Contact-Thomas Monjalon <thomas@monjalon.net>,
	"Richardson, Bruce" <bruce.richardson@intel.com>
Cc: Tal Shnaiderman <talshn@nvidia.com>, Odi Assli <odia@nvidia.com>,
	"Rong, Leyi" <leyi.rong@intel.com>,
	"Zhang, Qi Z" <qi.z.zhang@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>,
	"Menon, Ranjit" <ranjit.menon@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	Raslan Darawsheh <rasland@nvidia.com>
Subject: Re: [dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on i40e
Date: Thu, 21 Jan 2021 10:31:44 +0530
Message-ID: <0b572eb2-8abe-e673-dd01-9db6cbaf3b0f@intel.com> (raw)
In-Reply-To: <b51ffeb0-e609-d996-58c5-98fd135bb6ff@intel.com>


On 1/20/2021 11:21 PM, Ferruh Yigit wrote:
> On 1/20/2021 10:05 AM, Ali Alnubani wrote:
>>>> For info, I don't reproduce the compilation issue on my machine.
>>>
>>> My build system has been upgraded from fc31 to fc32 so I guess this has
>>> something to do with it.
>>>
>>
>> I can reproduce with (Fedora MinGW 9.2.1-6.fc32), but not with 
>> (Fedora MinGW 10.2.1-2.fc33).
>>
>
> First of all, for the patch @Tal provided its link, the windows build 
> and the mingw build errors are different. And the windows build error 
> should be already fixed by a patch that squashed in next-net 
> (https://patches.dpdk.org/patch/86804/).
>
>
> And for the mingw, I have same result with Ali, I can reproduce with 
> (Fedora MinGW 9.2.1-6.fc32).
>
> But different from the CI, I am getting the error [1] for all 
> following files:
> rte_random.c
> i40e_rxtx_vec_sse.c
> i40e_rxtx_vec_avx512.c
> i40e_rxtx_vec_avx2.c
> rte_ethdev.c
>
> [1] Error: invalid register for .seh_savexmm
>
>
> There is a stackoverflow entry for it:
> https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin 
>
>
> If I use '-fno-asynchronous-unwind-tables' as suggested there, the 
> build works fine.
>
> So the problem may not be just 'i40e_rxtx_vec_avx512.c'.
>
>
> If I change the machine type from 'native' to 'corei7' [2], the build 
> error reduced to only 'i40e_rxtx_vec_avx512.c', so the problem seems 
> happens when avx512 is supported by CPU, in this case compiler seems 
> has a defect.
> And since for 'i40e_rxtx_vec_avx512.c' the '-march=skylake-avx512' 
> explicitly set can cause the problem seen in all machines.
>
> [2]
>  diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw
>  index 4c15a7fa2e..7cee238add 100644
>  --- a/config/x86/cross-mingw
>  +++ b/config/x86/cross-mingw
>  @@ -9,5 +9,5 @@ pkgconfig = 'x86_64-w64-mingw32-pkg-config'
>   [host_machine]
>   system = 'windows'
>   cpu_family = 'x86_64'
>  -cpu = 'native'
>  +cpu = 'corei7'
>   endian = 'little'
>
>
>
> @Ranjit, @Pallavi,
> Are you building using mingw, and if so are you observing same problem?

We usually build using Clang. However, we verify with mingw as well before submitting the patch.
As mentioned in the patch [1] comments, we replaced #include x86intrin.h with <rte_vect.h> in the file i40e_rxtx_vec_avx2.c
And this helped fixing an error related to conflicting types for '__m_prefethw' with Clang on Windows.
I was able to build this patch using Clang as well as mingw.
[1] http://patches.dpdk.org/patch/84770/

I verified patch fix submitted by Rong, Leyi, it builds successfully with Clang.
However, I am getting same error "Error: invalid register for .seh_savexmm" using mingw for 'i40e_rxtx_vec_avx512.c' file.

Thanks,
Pallavi


  parent reply	other threads:[~2021-01-21  5:02 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-15  2:19 [dpdk-dev] [PATCH " Leyi Rong
2020-12-15  2:19 ` [dpdk-dev] [PATCH 1/3] net/i40e: remove devarg use-latest-supported-vec Leyi Rong
2020-12-15  2:19 ` [dpdk-dev] [PATCH 2/3] net/i40e: add AVX512 vector path Leyi Rong
2020-12-15  2:19 ` [dpdk-dev] [PATCH 3/3] net/i40e: optimize Tx by using AVX512 Leyi Rong
2021-01-07  7:44 ` [dpdk-dev] [PATCH v2 0/3] AVX512 vPMD on i40e Leyi Rong
2021-01-07  7:44   ` [dpdk-dev] [PATCH v2 1/3] net/i40e: remove devarg use-latest-supported-vec Leyi Rong
2021-01-13  6:12     ` Lu, Wenzhuo
2021-01-13 13:40     ` Ferruh Yigit
2021-01-07  7:44   ` [dpdk-dev] [PATCH v2 2/3] net/i40e: add AVX512 vector path Leyi Rong
2021-01-13  6:13     ` Lu, Wenzhuo
2021-01-07  7:44   ` [dpdk-dev] [PATCH v2 3/3] net/i40e: optimize Tx by using AVX512 Leyi Rong
2021-01-13  6:12     ` Lu, Wenzhuo
2021-01-13  9:53   ` [dpdk-dev] [PATCH v2 0/3] AVX512 vPMD on i40e Zhang, Qi Z
2021-01-14  6:39 ` [dpdk-dev] [PATCH v3 " Leyi Rong
2021-01-14  6:39   ` [dpdk-dev] [PATCH v3 1/3] net/i40e: remove devarg use-latest-supported-vec Leyi Rong
2021-01-15 13:36     ` Ferruh Yigit
2021-01-14  6:39   ` [dpdk-dev] [PATCH v3 2/3] net/i40e: add AVX512 vector path Leyi Rong
2021-01-14  6:39   ` [dpdk-dev] [PATCH v3 3/3] net/i40e: optimize Tx by using AVX512 Leyi Rong
2021-01-14  7:37   ` [dpdk-dev] [PATCH v3 0/3] AVX512 vPMD on i40e Zhang, Qi Z
2021-01-17 11:26     ` Odi Assli
2021-01-18 13:58       ` Rong, Leyi
2021-01-18 14:24         ` Ferruh Yigit
2021-01-18 14:53           ` Odi Assli
2021-01-18 16:36             ` Ferruh Yigit
2021-01-19 13:46               ` Ali Alnubani
2021-01-20  6:25                 ` Tal Shnaiderman
2021-01-20  8:36                   ` David Marchand
2021-01-20  9:18                     ` Ferruh Yigit
2021-01-20  9:23                     ` Thomas Monjalon
2021-01-20  9:53                       ` David Marchand
2021-01-20 10:05                         ` Ali Alnubani
2021-01-20 17:51                           ` Ferruh Yigit
2021-01-20 18:04                             ` Ferruh Yigit
2021-01-21  5:01                             ` Kadam, Pallavi [this message]
2021-01-25 14:35                               ` David Marchand
2021-01-26 16:17                                 ` Rong, Leyi
2021-01-26 16:22                                   ` Thomas Monjalon
2021-01-26 16:39                                     ` Ferruh Yigit
2021-01-26 16:48                                       ` Thomas Monjalon
2021-01-26 16:51                                         ` Ferruh Yigit
2021-01-28 20:35                                           ` Dmitry Kozlyuk
2021-01-28 21:24                                             ` Thomas Monjalon

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=0b572eb2-8abe-e673-dd01-9db6cbaf3b0f@intel.com \
    --to=pallavi.kadam@intel.com \
    --cc=alialnu@nvidia.com \
    --cc=beilei.xing@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=leyi.rong@intel.com \
    --cc=odia@nvidia.com \
    --cc=qi.z.zhang@intel.com \
    --cc=ranjit.menon@intel.com \
    --cc=rasland@nvidia.com \
    --cc=talshn@nvidia.com \
    --cc=thomas@monjalon.net \
    --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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/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 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

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


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