From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0AC4341F60; Tue, 29 Aug 2023 18:16:32 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id ACA1E40293; Tue, 29 Aug 2023 18:16:31 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id A57EF40279 for ; Tue, 29 Aug 2023 18:16:29 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1086) id DD0152129BC0; Tue, 29 Aug 2023 09:16:28 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com DD0152129BC0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1693325788; bh=XPv7rgl3YKCdmNS9yQfxAErDFVMnCaTTuiJ28D9RjSw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=T+DtxR/cQD8jMHr/56O98HFbr4yb29JhsZSxa2aa1JQWTdv+YrK7t0Ijy7NlFMxyB M59Km1WQH0jp0SukBfui2Bh5C67LSANy93msaTH9u13/S1FelEvpqjKCi7uOgegdsM qcfGPJBuXXPozPVPDF4Q3xTxe1LAsBbXUN7pxQqs= Date: Tue, 29 Aug 2023 09:16:28 -0700 From: Tyler Retzlaff To: Ali Alnubani Cc: David Marchand , "dev@dpdk.org" , Bruce Richardson , Konstantin Ananyev , Ciara Power , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , "mb@smartsharesystems.com" Subject: Re: [PATCH v11 01/16] eal: use rdtsc intrinsic Message-ID: <20230829161628.GB19416@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <1680558751-17931-1-git-send-email-roretzla@linux.microsoft.com> <1691781658-32520-1-git-send-email-roretzla@linux.microsoft.com> <1691781658-32520-2-git-send-email-roretzla@linux.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Sat, Aug 26, 2023 at 02:38:26PM +0000, Ali Alnubani wrote: > > -----Original Message----- > > From: Tyler Retzlaff > > Sent: Friday, August 11, 2023 10:21 PM > > To: dev@dpdk.org > > Cc: Bruce Richardson ; Konstantin Ananyev > > ; Ciara Power ; > > NBU-Contact-Thomas Monjalon (EXTERNAL) ; > > david.marchand@redhat.com; mb@smartsharesystems.com; Tyler Retzlaff > > > > Subject: [PATCH v11 01/16] eal: use rdtsc intrinsic > > > > Inline assembly is not supported for MSVC x64. Convert code to use > > __rdtsc intrinsic. > > > > Signed-off-by: Tyler Retzlaff > > Acked-by: Konstantin Ananyev > > Acked-by: Morten Brørup > > --- > > Hello, > > This patch is causing a build failure in Windows with Clang 11: Hi Ali, while we don't currently document a minimum clang version required to build the windows port i'm starting to consider establishing policy that in effect says we may bump the required compiler version on any dpdk release (not just long term servicing releases). but before doing that it would be nice to understand if that would cause undue pain on the port users. So is there a reason you can't use LLVM 16? Not that this information helps you but this is the background to what is breaking here. The failure here is due to a mistmatch in cv-qualification of the prototype for __m_prefetchw that comes from clang VS the prototype that comes from the Windows SDK. The Windows SDK will not be changed to remove the volatile qualification and even if it were removed it would be a breaking API change. The LLVM version of the prototype could be volatile qualified without a breaking change causing no harm. Thanks > > """ > [72/803] Compiling C object drivers/common/idpf/6e54547@@idpf_common_avx512_lib@sta/idpf_common_rxtx_avx512.c.obj > FAILED: drivers/common/idpf/6e54547@@idpf_common_avx512_lib@sta/idpf_common_rxtx_avx512.c.obj > clang @drivers/common/idpf/6e54547@@idpf_common_avx512_lib@sta/idpf_common_rxtx_avx512.c.obj.rsp > In file included from ../drivers/common/idpf/idpf_common_rxtx_avx512.c:6: > In file included from ..\drivers\common\idpf/idpf_common_device.h:9: > In file included from ..\drivers\common\idpf/base/idpf_prototype.h:9: > In file included from ..\drivers\common\idpf/base/idpf_osdep.h:18: > In file included from ..\lib\eal\include\rte_malloc.h:16: > In file included from ..\lib\eal\include\rte_memory.h:25: > In file included from ..\lib\eal\include\rte_fbarray.h:39: > In file included from ..\lib\eal\x86\include\rte_rwlock.h:13: > In file included from ..\lib\eal\x86\include/rte_spinlock.h:18: > In file included from ..\lib\eal\x86\include/rte_cycles.h:12: > In file included from C:\Tools\LLVM\lib\clang\11.0.0\include\x86intrin.h:24: > C:\Tools\LLVM\lib\clang\11.0.0\include\prfchwintrin.h:50:1: error: conflicting types for '__m_prefetchw' > _m_prefetchw(void *__P) > ^ > ..\lib\eal\windows\include\rte_windows.h:28:22: note: expanded from macro '_m_prefetchw' > #define _m_prefetchw __m_prefetchw > ^ > C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um\winnt.h:3324:1: note: previous declaration is here > _m_prefetchw ( > ^ > ..\lib\eal\windows\include\rte_windows.h:28:22: note: expanded from macro '_m_prefetchw' > #define _m_prefetchw __m_prefetchw > ^ > 1 error generated. > [73/803] Generating rte_bus_auxiliary_def with a custom command > [74/803] Compiling C object drivers/a715181@@tmp_rte_common_idpf@sta/common_idpf_base_idpf_controlq.c.obj > [75/803] Compiling C object drivers/a715181@@tmp_rte_common_idpf@sta/common_idpf_idpf_common_rxtx.c.obj > [76/803] Compiling C object drivers/a715181@@tmp_rte_common_idpf@sta/common_idpf_base_idpf_controlq_setup.c.obj > [77/803] Generating rte_bus_vdev.pmd.c with a custom command > [78/803] Compiling C object drivers/a715181@@tmp_rte_bus_pci@sta/bus_pci_pci_params.c.obj > [79/803] Compiling C object drivers/a715181@@tmp_rte_bus_pci@sta/bus_pci_pci_common.c.obj > [80/803] Compiling C object drivers/a715181@@tmp_rte_common_idpf@sta/common_idpf_base_idpf_common.c.obj > [81/803] Compiling C object drivers/a715181@@tmp_rte_common_idpf@sta/common_idpf_idpf_common_virtchnl.c.obj > ninja: build stopped: subcommand failed. > """ > > Cross build with x86_64-w64-mingw32-gcc 12.2.1 on Fedora Linux doesn't reproduce. > > Regards, > Ali