From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1B589A04DE; Fri, 30 Oct 2020 16:31:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7476BC9AC; Fri, 30 Oct 2020 16:31:20 +0100 (CET) Received: from mail-il1-f193.google.com (mail-il1-f193.google.com [209.85.166.193]) by dpdk.org (Postfix) with ESMTP id C82FFC9A4 for ; Fri, 30 Oct 2020 16:31:17 +0100 (CET) Received: by mail-il1-f193.google.com with SMTP id g7so6825205ilr.12 for ; Fri, 30 Oct 2020 08:31:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gJjh41/jm1qHMxqQvK7D2EsL586qpuDxbMis6gZSG3k=; b=WoAjeNqH5rcxRKf/e6Xo8JLftA3GHiwe/qqgd4ufVGc9OBllUZQ6gJShh/SoHcutXt L0xtDwBzW7PUmFhH0QhwXMi8BU7mbfMeq9EWsMnKDA5MhUdyeOuv/nSSulzVxYYzqYjk OCSXlVfjOCBjyH7sBEq5NKuDv6oMr1r6fEstQeZGZ9ZH8qDtZUjGXZzqL3+MQ41DSEfl z8DVlUcrMfpOTZzEomCqgNK44htdS939y1jtx+PWR3lRKXVgzgHUs+3VhBL8JbAf+Trn kaWsNUJOQGwUZVSi/M9BWIgU0BCdec1gjgtP5+k6BqTQxR3WIT30//bzZajI1PPjRzVD WRIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=gJjh41/jm1qHMxqQvK7D2EsL586qpuDxbMis6gZSG3k=; b=Xgg8FAMwr9x0GKdwhsLIGQo9AlxvgLgl7fcSERLJVCW6YjmBujhB6HIdbdBPqXyWVj UbZuH3kDo7K04E2sENeL9Z6ltms539JoIjYjzKrfR1O4BJQiotUMLQEvU02f1e6jdDGV oKS6is/6l0AerP97VQR5lQLmlv+e8Vndmvpejp4LJ1G5HalVLRyCG3DKJ4OyPp4PZdRi MYMXfuQdGFsnLDwOvFegRvnIJ+/HepFgrOxpSdD9eolnZxLkZ53LXYeEUC29R335d+y1 C8moWCgqK6DWOlb2Ewh56/vd5skrC0UgJybDwk77mJO8Mean4XxDKaRYJ4Fnq6lae4k4 zbXw== X-Gm-Message-State: AOAM532A7M2QskyX7v3FaCL/ixyaKSuhPpCtS9lhrPGB0UA64StyIERH sCgwrIoDkHVv/Mw9xGVBjuMy3tHVXcGWExDoJ98= X-Google-Smtp-Source: ABdhPJyLLBjLTkQybvGUojqV6F+SxlsJzCgkGljicri4FhUn+K+Qs4F+YfYAr0NL4HLZ9mhYwFW2hhskY2RIyeZDidM= X-Received: by 2002:a05:6e02:5d1:: with SMTP id l17mr2357146ils.130.1604071877060; Fri, 30 Oct 2020 08:31:17 -0700 (PDT) MIME-Version: 1.0 References: <1602958879-8558-2-git-send-email-timothy.mcdaniel@intel.com> <1604051021-26699-1-git-send-email-timothy.mcdaniel@intel.com> In-Reply-To: From: Jerin Jacob Date: Fri, 30 Oct 2020 21:01:00 +0530 Message-ID: To: "McDaniel, Timothy" Cc: dpdk-dev , "Carrillo, Erik G" , "Eads, Gage" , "Van Haaren, Harry" , Jerin Jacob , Thomas Monjalon Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v5 00/23] Add DLB2 PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" + @Richardson, Bruce @Ananyev, Konstantin On Fri, Oct 30, 2020 at 8:55 PM McDaniel, Timothy wrote: > > > > > -----Original Message----- > > From: Jerin Jacob > > Sent: Friday, October 30, 2020 9:22 AM > > To: McDaniel, Timothy > > Cc: dpdk-dev ; Carrillo, Erik G ; Eads, > > Gage ; Van Haaren, Harry > > ; Jerin Jacob ; Thomas > > Monjalon > > Subject: Re: [dpdk-dev] [PATCH v5 00/23] Add DLB2 PMD > > > > On Fri, Oct 30, 2020 at 3:19 PM Timothy McDaniel > > wrote: > > > > > > > > Timothy McDaniel (23): > > > event/dlb2: add documentation and meson build infrastructure > > > event/dlb2: add dynamic logging > > > event/dlb2: add private data structures and constants > > > event/dlb2: add definitions shared with LKM or shared code > > > event/dlb2: add inline functions > > > event/dlb2: add eventdev probe > > > > There is build error with clang and static build here. > > Please send the next version with fix. > > > > meson -Dexamples=l3fwd --buildtype=debugoptimized --werror > > --default-library=static /export/dpdk-next-eventdev/devtools/.. > > ./build-clang-static > > The Meson build system > > Version: 0.55.3 > > Source dir: /export/dpdk-next-eventdev > > Build dir: /export/dpdk-next-eventdev/build-clang-static > > Build type: native build > > Program cat found: YES > > Using 'PKG_CONFIG_PATH' from environment with value: '' > > Using 'PKG_CONFIG_PATH' from environment with value: '' > > Project name: DPDK > > Project version: 20.11.0-rc1 > > Using 'CC' from environment with value: 'ccache clang' > > Using 'CFLAGS' from environment with value: '' > > Using 'LDFLAGS' from environment with value: '' > > Using 'CPPFLAGS' from environment with value: '' > > Using 'CC' from environment with value: 'ccache clang' > > Using 'CFLAGS' from environment with value: '' > > Using 'LDFLAGS' from environment with value: '' > > Using 'CPPFLAGS' from environment with value: '' > > C compiler for the host machine: ccache clang (clang 10.0.1 "clang > > version 10.0.1 ") > > C linker for the host machine: clang ld.bfd 2.35.1 > > Host machine cpu family: x86_64 > > Host machine cpu: x86_64 > > Program pkg-config found: YES > > Program gen-pmdinfo-cfile.sh found: YES > > Program list-dir-globs.py found: YES > > Program check-symbols.sh found: YES > > Program options-ibverbs-static.sh found: YES > > Program binutils-avx512-check.sh found: YES > > Program python3 found: YES (/usr/bin/python) > > > > > > > > ccache clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers > > -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 > > -Ilib/librte_eventdev -I../lib/librte_eventdev -I. -I.. -Iconfig > > -I../config -Ilib/librte_eal/include -I../lib/librte_eal/i > > nclude -Ilib/librte_eal/linux/include > > -I../lib/librte_eal/linux/include -Ilib/librte_eal/x86/include > > -I../lib/librte_eal/x86/include -Ilib/librte_eal/common > > -I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal > > -Ilib/librte_kvargs > > -I../lib/librte_kvargs -Ilib/librte_metrics -I../lib/librte_metrics > > -Ilib/librte_telemetry -I../lib/librte_telemetry -Ilib/librte_ring > > -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev > > -Ilib/librte_net -I../lib/librte_net -Il > > ib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool > > -I../lib/librte_mempool -Ilib/librte_meter -I../lib/librte_meter > > -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_rcu > > -I../lib/librte_rcu -Ilib/librte_timer -I../lib/librte_timer - > > Ilib/librte_cryptodev -I../lib/librte_cryptodev -Ilib/librte_pci > > -I../lib/librte_pci -Idrivers/bus/pci -I../drivers/bus/pci > > -I../drivers/bus/pci/linux -Xclang -fcolor-diagnostics -pipe > > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 > > -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated > > -Wformat-nonliteral -Wformat-security -Wmissing-declarations > > -Wmissing-prototypes -Wnested-externs -Wold-style-definition > > -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef - > > Wwrite-strings -Wno-address-of-packed-member > > -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native > > -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ > > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o -MF > > drivers/l > > ibtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o.d -o > > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_main.c.o -c > > ../drivers/event/dlb2/pf/dlb2_main.c > > In file included from ../drivers/event/dlb2/pf/dlb2_main.c:22: > > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: error: use of > > unknown builtin '__builtin_ia32_movntdq' > > [-Wimplicit-function-declaration] > > __builtin_ia32_movntdq((__v2di *)pp_addr, (__v2di)src_data0); > > ^ > > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: note: did you mean > > '__builtin_ia32_movntq'? > > /usr/lib/clang/10.0.1/include/xmmintrin.h:2122:3: note: > > '__builtin_ia32_movntq' declared here > > __builtin_ia32_movntq(__p, __a); > > > > [2010/2491] Compiling C object > > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o > > FAILED: drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o > > ccache clang -Idrivers/libtmp_rte_event_dlb2.a.p -Idrivers > > -I../drivers -Idrivers/event/dlb2 -I../drivers/event/dlb2 > > -Ilib/librte_eventdev -I../lib/librte_eventdev -I. -I.. -Iconfig > > -I../config -Ilib/librte_eal/include -I../lib/librte_eal/i > > nclude -Ilib/librte_eal/linux/include > > -I../lib/librte_eal/linux/include -Ilib/librte_eal/x86/include > > -I../lib/librte_eal/x86/include -Ilib/librte_eal/common > > -I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal > > -Ilib/librte_kvargs > > -I../lib/librte_kvargs -Ilib/librte_metrics -I../lib/librte_metrics > > -Ilib/librte_telemetry -I../lib/librte_telemetry -Ilib/librte_ring > > -I../lib/librte_ring -Ilib/librte_ethdev -I../lib/librte_ethdev > > -Ilib/librte_net -I../lib/librte_net -Il > > ib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool > > -I../lib/librte_mempool -Ilib/librte_meter -I../lib/librte_meter > > -Ilib/librte_hash -I../lib/librte_hash -Ilib/librte_rcu > > -I../lib/librte_rcu -Ilib/librte_timer -I../lib/librte_timer - > > Ilib/librte_cryptodev -I../lib/librte_cryptodev -Ilib/librte_pci > > -I../lib/librte_pci -Idrivers/bus/pci -I../drivers/bus/pci > > -I../drivers/bus/pci/linux -Xclang -fcolor-diagnostics -pipe > > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 > > -g -include rte_config.h -Wextra -Wcast-qual -Wdeprecated > > -Wformat-nonliteral -Wformat-security -Wmissing-declarations > > -Wmissing-prototypes -Wnested-externs -Wold-style-definition > > -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef - > > Wwrite-strings -Wno-address-of-packed-member > > -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=native > > -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -MD -MQ > > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o -MF > > drivers/lib > > tmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o.d -o > > drivers/libtmp_rte_event_dlb2.a.p/event_dlb2_pf_dlb2_pf.c.o -c > > ../drivers/event/dlb2/pf/dlb2_pf.c > > In file included from ../drivers/event/dlb2/pf/dlb2_pf.c:35: > > ../drivers/event/dlb2/pf/../dlb2_inline_fns.h:41:2: error: use of > > unknown builtin '__builtin_ia32_movntdq' > > [-Wimplicit-function-declaration] > > __builtin_ia32_movntdq((__v2di *)pp_addr, (__v2di)src_data0); > > Not sure why this builds for me, but I do not see this error. May be you can try with [for-main][dpdk-next-eventdev] $ clang -v clang version 10.0.1 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/bin > According to information online, '__builtin_ia32_movntdq' should be available if -msse2 is set. > According to the following snippet from config/x86/meson.build, it looks like msse4 is defined. > > # we require SSE4.2 for DPDK > if cc.get_define('__SSE4_2__', args: machine_args) == '' > message('SSE 4.2 not enabled by default, explicitly enabling') > machine_args += '-msse4' > endif > > > I realize this is from clang, not gcc, but why are they out of sync? > such that __builtin_ia32_movntdq is not available in clang, but is available in gcc. > > Should I convert to _mm_stream_si128 (__m128i *__A, __m128i __B) ? > > Any guidance on how to get past this would be greatly appreciated. Added @Richardson, Bruce @Ananyev, Konstantin I do see the same problem in DLB driver as well. > > Thanks, > Tim > > >