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 E0D58A0567 for ; Mon, 8 Mar 2021 19:51:56 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D663F22A4A9; Mon, 8 Mar 2021 19:51:56 +0100 (CET) Received: from mail-io1-f45.google.com (mail-io1-f45.google.com [209.85.166.45]) by mails.dpdk.org (Postfix) with ESMTP id B09F822A48D; Mon, 8 Mar 2021 19:51:54 +0100 (CET) Received: by mail-io1-f45.google.com with SMTP id o9so11093399iow.6; Mon, 08 Mar 2021 10:51:54 -0800 (PST) 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:content-transfer-encoding; bh=TOnWurCctQ1C5SxpSangUmDfVS0sinewp6OO5sfFktg=; b=mdHPEnOTJ/Gup3RsSd2zvmgf7NMCWfBX01sw5OjkKebP85ZXnAAGIX2x+2px0dmZA6 mnLYOKmSItbTCZuv06J2wisjJ8CkiVRSSa0N0HjUcUAuF9vcGFvIFcjybeidrc+oJXmW vQgR7evnvmMsv4QrW9LLiNbMIXs40qjF3rx7dNOPoGs03k02x7EW1F6V0EDfi7zDPT5A 3H6MJaoec9FII3zQsdhONSvXZtW6uPlJEV6ob4lcABncdaJj6M9On7OkeoI6C+BpLFhP e5L3G8+6AjaSAWT9GBDt8JGsRlfZymbkUgvvWtIErppCK/1kQqudAIQhJDu1PE/uewol CmmQ== 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:content-transfer-encoding; bh=TOnWurCctQ1C5SxpSangUmDfVS0sinewp6OO5sfFktg=; b=KVL3Y5da2YDTdeK5LUMp39y7qOaNAwgv+FRIIM9GT2QO0GraLU9gkKnp9A9sWRVgnq 536IWnE7QWtnYca1BMdyMcTapnQPpbEXfVlvGhnArIOdSdbR88XYmeqJWF6RyDgo6WFt zWRtkR0UlyF/XMnf77LPFktYxSqTGogQophXaUSMW2A5L4kVMw+h3PMPWcou/faZH2kJ eQBmMqMc8b2Qdrd4uR/QxBxYUMe/B3LjP8dt3B09HEvNFUMRef9duHeG2wlexgKK1CGq SLHGTlNpCCHzI1MQ5DJzMiCt45gcnkP8PpmiYlKhmB851lj4msOkjcUTPE3IHBvOhMB5 aDyw== X-Gm-Message-State: AOAM5312RSWlIcAJStHpT7iOMnnDEqyUou1JgcHS1QQ2vwxYNfGXpdS5 oFo6yHVEICApgf15ZaRKTl4NWQgbZkcl46g6A4U= X-Google-Smtp-Source: ABdhPJz4eSSDbepe9+M8PotLvFZtYCrhAcow0iHnwNQ1EinmSior/1/xphlclPaoMC5r7gU9jpYbFOIivlBWMqcZLDI= X-Received: by 2002:a5d:9e03:: with SMTP id h3mr20011188ioh.94.1615229514062; Mon, 08 Mar 2021 10:51:54 -0800 (PST) MIME-Version: 1.0 References: <20210219105740.1567636-1-luca.boccassi@gmail.com> <953ce5333ed145a58f26e9eaea240c50@pantheon.tech> <1565f89657b62b8c8baa2a2c9524a0592f99fa3b.camel@debian.org> <89901ac3ccda8c0212828e619f330fa357922809.camel@debian.org> In-Reply-To: <89901ac3ccda8c0212828e619f330fa357922809.camel@debian.org> From: Jerin Jacob Date: Tue, 9 Mar 2021 00:21:37 +0530 Message-ID: To: Luca Boccassi Cc: Ruifeng Wang , "jerinj@marvell.com" , =?UTF-8?Q?Juraj_Linke=C5=A1?= , "stable@dpdk.org" , "dev@dpdk.org" , "thomas@monjalon.net" , Ashwin Sekhar Thalakalath Kottilveetil , Andrew Pinski , "david.marchand@redhat.com" , nd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH 20.11] config/arm: replace native machine args X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" On Mon, Mar 8, 2021 at 5:38 PM Luca Boccassi wrote: > > On Mon, 2021-03-08 at 03:23 +0000, Ruifeng Wang wrote: > > > -----Original Message----- > > > From: Jerin Jacob Kollanukkaran > > > Sent: Sunday, March 7, 2021 9:35 PM > > > To: Ruifeng Wang ; Juraj Linke=C5=A1 > > > ; Luca Boccassi ; > > > stable@dpdk.org; dev@dpdk.org; thomas@monjalon.net; Ashwin Sekhar > > > Thalakalath Kottilveetil ; Andrew Pinski > > > > > > Cc: david.marchand@redhat.com; nd ; nd > > > Subject: RE: [PATCH 20.11] config/arm: replace native machine args > > > > > > > > > > > > > -----Original Message----- > > > > From: Ruifeng Wang > > > > Sent: Monday, March 1, 2021 11:10 AM > > > > To: Jerin Jacob Kollanukkaran ; Juraj Linke=C5= =A1 > > > > ; Luca Boccassi ; > > > > stable@dpdk.org > > > > Cc: david.marchand@redhat.com; nd ; nd > > > > Subject: [EXT] RE: [PATCH 20.11] config/arm: replace native machine > > > > args > > > > > > > > External Email > > > > > > > > -------------------------------------------------------------------= --- > > > > > -----Original Message----- > > > > > From: Jerin Jacob Kollanukkaran > > > > > Sent: Thursday, February 25, 2021 8:15 PM > > > > > To: Ruifeng Wang ; Juraj Linke=C5=A1 > > > > > ; Luca Boccassi ; > > > > > stable@dpdk.org > > > > > Cc: david.marchand@redhat.com; nd > > > > > Subject: RE: [PATCH 20.11] config/arm: replace native machine arg= s > > > > > > > > > > > -----Original Message----- > > > > > > From: Ruifeng Wang > > > > > > Sent: Saturday, February 20, 2021 9:13 AM > > > > > > To: Juraj Linke=C5=A1 ; Luca Boccas= si > > > > > > ; stable@dpdk.org; Jerin Jacob Kollanukkaran > > > > > > > > > > > > Cc: david.marchand@redhat.com; nd > > > > > > Subject: [EXT] RE: [PATCH 20.11] config/arm: replace native > > > > > > machine args > > > > > > > > > > > > External Email > > > > > > > > > > > > ---------------------------------------------------------------= --- > > > > > > -- > > > > > > -- > > > > > > > -----Original Message----- > > > > > > > From: Juraj Linke=C5=A1 > > > > > > > Sent: Friday, February 19, 2021 8:10 PM > > > > > > > To: Luca Boccassi ; stable@dpdk.org > > > > > > > Cc: jerinj@marvell.com; Ruifeng Wang ; > > > > > > > david.marchand@redhat.com > > > > > > > Subject: RE: [PATCH 20.11] config/arm: replace native machine > > > > > > > args > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > From: Luca Boccassi > > > > > > > > Sent: Friday, February 19, 2021 12:33 PM > > > > > > > > To: Juraj Linke=C5=A1 ; stable@= dpdk.org > > > > > > > > Cc: jerinj@marvell.com; ruifeng.wang@arm.com; > > > > > > > > david.marchand@redhat.com > > > > > > > > Subject: Re: [PATCH 20.11] config/arm: replace native machi= ne > > > > > > > > args > > > > > > > > > > > > > > > > On Fri, 2021-02-19 at 11:06 +0000, Juraj Linke=C5=A1 wrote: > > > > > > > > > > -----Original Message----- > > > > > > > > > > From: luca.boccassi@gmail.com > > > > > > > > > > Sent: Friday, February 19, 2021 11:58 AM > > > > > > > > > > To: stable@dpdk.org > > > > > > > > > > Cc: Juraj Linke=C5=A1 ; > > > > > > > > > > jerinj@marvell.com; ruifeng.wang@arm.com; > > > > > > > > > > david.marchand@redhat.com > > > > > > > > > > Subject: [PATCH 20.11] config/arm: replace native machi= ne > > > > > > > > > > args > > > > > > > > > > > > > > > > > > > > From: Juraj Linke=C5=A1 > > > > > > > > > > > > > > > > > > > > [ backported from upstream commit > > > > > > > > > > 9186e5a07f35ae74a1f7fa2d89671b5f77eae407 ] > > > > > > > > > > > > > > > > > > > > There are compiler issues when building with -mcpu=3Dna= tive > > > > > > > > > > with popular compilers, such as GCC-8.4: > > > > > > > > > > In file included from ../lib/librte_eal/arm/include/rte= _vect.h:11, > > > > > > > > > > from ../lib/librte_net/net_crc_neon.c:= 10: > > > > > > > > > > ../lib/librte_net/net_crc_neon.c: In function > > > =E2=80=98crcr32_folding_round=E2=80=99: > > > > > > > > > > /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:260= 94:1: > > > > > error: > > > > > > > > > > inlining failed in call to always_inline =E2=80=98vmull= _p64=E2=80=99: > > > > > > > > > > target specific option mismatch > > > > > > > > > > vmull_p64 (poly64_t a, poly64_t b) > > > > > > > > > > ../lib/librte_net/net_crc_neon.c:50:20: note: called fr= om here > > > > > > > > > > uint64x2_t tmp1 =3D vreinterpretq_u64_p128(vmull_p64( > > > > > > > > > > vgetq_lane_p64(vreinterpretq_p64_u64(fold), 0), > > > > > > > > > > vgetq_lane_p64(vreinterpretq_p64_u64(precomp), 1)))= ; > > > > > > > > > > > > > > > > > > > > and clang: > > > > > > > > > > gcc -E -dM -mcpu=3D"native" - < /dev/null | grep > > > > > > > > > > __ARM_FEATURE_ATOMICS > > > > > > > > > > clang-9 -E -dM -mcpu=3D"native" - < /dev/null | grep > > > > > > > > > > __ARM_FEATURE_ATOMICS # no clang support > > > > > > > > > > > > > > > > > > > > Fix this by always specifying the proper machine args a= nd > > > > > > > > > > never using the native flags. > > > > > > > > > > > > > > > > > > > > Fixes: 78ac8eac7e8a ("config/arm: use native machine bu= ild > > > > > > > > > > arguments") > > > > > > > > > > > > > > > > > > > > Signed-off-by: Juraj Linke=C5=A1 > > > > > > > > > > Signed-off-by: Luca Boccassi > > > > > > > > > > --- > > > > > > > > > > This is a crude backport, but it fixes the build for ar= m64. > > > > > > > > > > It's a release blocker for 20.11.1, so I would apprecia= te > > > > > > > > > > a quick > > > > > review. > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > What does this fix? With or without the below change, the > > > > > > > > > native machine > > > > > > > > args are not used. The patch shoudn't actually change the > > > > > > > > configuration of the build at all, so I'm a bit confused. > > > > > > > > > > > > > > > > It fixes the build on some build workers with thunderx > > > > > > > > hardware > > > > > > > > - without this I get failures like: > > > > > > > > > > > > > > > > arm_neon.h:26647:1: error: inlining failed in call to 'alwa= ys_inline' > > > > > > > > 'vmull_p64': target specific option mismatch > > > > > > > > > > > > > > > > > > > > > > I tried the patch and I'm seeing the same errors on a Thunder= X > > > > > > > server (with and without the patch). Is this actually the rig= ht patch? > > > > > > > > > > > > > > One of the four failures looks like this: > > > > > > > In file included from ../lib/librte_eal/arm/include/rte_vect.= h:11, > > > > > > > from ../lib/librte_net/net_crc_neon.c:10: > > > > > > > ../lib/librte_net/net_crc_neon.c: In function 'crcr32_folding= _round': > > > > > > > /usr/lib/gcc/aarch64-linux-gnu/8/include/arm_neon.h:26094:1: = error: > > > > > > > inlining failed in call to always_inline 'vmull_p64': target > > > > > > > specific option mismatch > > > > > > > vmull_p64 (poly64_t a, poly64_t b) ^~~~~~~~~ > > > > > > > ../lib/librte_net/net_crc_neon.c:50:20: note: called from her= e > > > > > > > uint64x2_t tmp1 =3D vreinterpretq_u64_p128(vmull_p64( > > > > > > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > > vgetq_lane_p64(vreinterpretq_p64_u64(fold), 0), > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > > vgetq_lane_p64(vreinterpretq_p64_u64(precomp), 1))); > > > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > > > > > > > > > Ruifeng, any ideas on how to fix this? > > > > > > > > > > > > Gcc build on ThunderX platform is broken. Issue can be seen in > > > > > > some > > > > > > CentOS-8 OBS builds. > > > > > > https://urldefense.proofpoint.com/v2/url?u=3Dhttps- > > > > > > 3A__mails.dpdk.org_archives_dev_2020- > > > > > > > > > 2DNovember_192909.html&d=3DDwIGaQ&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3D1 > > > > > DG > > > ob4H4rxz6H8uITozGOCa0s5f4wCNtTa4UUKvcsvI&m=3DmgzJ6z43dsDFwI6rdgKC > > > > > Uj > > > > > > 0GCMNjEKQAa7dfRZxvrdU&s=3DUWUJTFdGC2mD2x-rcuRnH1I7- > > > > > > 1jKFC40Bh5hFanzu0A&e=3D > > > > > > I tried tuning compiler flags used, but could not resolve the i= ssue. > > > > > > > > > > > > Need help from Marvell to look at this. > > > > > > Hi Jerin, do you have any thoughts on this? > > > > > > > > > > Ruifeng, If you are able to reproduce this issue, Could you add "= - > > > > > march=3Darmv8.1-a+crc+crypto" In ThunderX config and check is th= is > > > > > Fixing the issue? > > > > > > > > > > [main] [dpdk.org] $ git diff > > > > > diff --git a/config/arm/meson.build b/config/arm/meson.build inde= x > > > > > 00bc4610a..ef65b4bb6 100644 > > > > > --- a/config/arm/meson.build > > > > > +++ b/config/arm/meson.build > > > > > @@ -96,15 +96,18 @@ implementer_cavium =3D { > > > > > ], > > > > > 'part_number_config': { > > > > > '0xa1': { > > > > > - 'machine_args': ['-mcpu=3Dthunderxt88'], > > > > > + 'machine_args': ['-march=3Darmv8.1-a+crc+= crypto+lse', > > > > > + '-mcpu=3Dthunderxt88'], > > > > > 'flags': flags_part_number_thunderx > > > > > }, > > > > > '0xa2': { > > > > > - 'machine_args': ['-mcpu=3Dthunderxt81'], > > > > > + 'machine_args': ['-march=3Darmv8.1-a+crc+= crypto+lse', > > > > > + '-mcpu=3Dthunderxt81'], > > > > > 'flags': flags_part_number_thunderx > > > > > }, > > > > > '0xa3': { > > > > > - 'machine_args': ['-mcpu=3Dthunderxt83'], > > > > > + 'machine_args': ['-march=3Darmv8.1-a+crc+= crypto+lse', > > > > > + '-mcpu=3Dthunderxt83'], > > > > > 'flags': flags_part_number_thunderx > > > > > }, > > > > > '0xaf': { > > > > > > > > > > > > > Hi Jerin, > > > > > > > > The patch doesn't work. Build failed at link stage. > > > > I used gcc 8.4 and tried build on thunderxt88. > > > > > > > > > Hi Ruifeng, > > > > > > I talked to compiler experts here in Marvell. It looks like compiler = issue, As a > > > workaround couple of these could try: > > > 1) Reduce the external libraries linked to the application like mlx5 = etc > > > > I tried building with lots of drivers disabled. Not yet able to get a s= uccessful build. > > > > > 2) Add -mcmodel=3Dlarge flag will fix "relocation truncated to fit" i= ssue as > > > testing purpose as we are not sure about the implication of this flag= . > > > > Looks like this flag is not supported by gcc 8.4 that I am using. > > > > One thing we can do to overcome the build failure is to switch to defau= lt / release build in OBS CI. > > OBS CI is running native build, so it could hit this issue when CI job = is scheduled to thunderxt88 infrastructure. > > I think we should change to do release build (-Dmachine=3Ddefault) whic= h is more suitable for generic CI verification. > > As I checked, release build can pass on my thunderxt88 platform. > > > > What do you think? > > Hi, > > I've done as suggested, and it seems to fare better, thank you. > > There is still a build error on CentOS 7, not sure if it is related That ICE is a known issue from the compiler. Please use gcc 4.8 at least for arm64 work. Similar issue[1] present in some 5.2.1, 6.0 version too. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D67143 > though: > > [ 555s] ../drivers/event/octeontx2/otx2_tim_worker.c: In function 'otx2_= tim_arm_tmo_tick_burst_mod': > [ 555s] ../drivers/event/octeontx2/otx2_tim_worker.c:154:18: error: coul= d not split insn > [ 555s] struct rte_event_timer **tim, \ > [ 555s] ^ > [ 555s] ../drivers/event/octeontx2/otx2_tim_evdev.h:208:1: note: in expa= nsion of macro 'FP' > [ 555s] FP(mod, 0, 0, 0, OTX2_TIM_BKT_MOD | OTX2_TIM_ENA_DFB) \ > [ 555s] ^ > [ 555s] ../drivers/event/octeontx2/otx2_tim_worker.c:161:1: note: in exp= ansion of macro 'TIM_ARM_TMO_FASTPATH_MODES' > [ 555s] TIM_ARM_TMO_FASTPATH_MODES > [ 555s] ^ > [ 555s] (insn 252 250 255 (parallel [ > [ 555s] (set (reg:DI 1 x1 [orig:230 D.17092 ] [230]) > [ 555s] (mem/v:DI (reg/f:DI 10 x10 [orig:229 D.17094 ] [= 229]) [-1 S8 A64])) > [ 555s] (set (mem/v:DI (reg/f:DI 10 x10 [orig:229 D.17094 ] = [229]) [-1 S8 A64]) > [ 555s] (unspec_volatile:DI [ > [ 555s] (plus:DI (mem/v:DI (reg/f:DI 10 x10 [ori= g:229 D.17094 ] [229]) [-1 S8 A64]) > [ 555s] (const_int 1099511627776 [0x10000000= 000])) > [ 555s] (const_int 2 [0x2]) > [ 555s] ] UNSPECV_ATOMIC_OP)) > [ 555s] (clobber (reg:CC 66 cc)) > [ 555s] (clobber (reg:DI 4 x4)) > [ 555s] (clobber (reg:SI 3 x3)) > [ 555s] ]) ../drivers/event/octeontx2/otx2_tim_worker.h:81 1832 = {atomic_fetch_adddi} > [ 555s] (expr_list:REG_UNUSED (reg:CC 66 cc) > [ 555s] (expr_list:REG_UNUSED (reg:DI 4 x4) > [ 555s] (expr_list:REG_UNUSED (reg:SI 3 x3) > [ 555s] (nil))))) > [ 555s] ../drivers/event/octeontx2/otx2_tim_worker.c:154:18: internal co= mpiler error: in final_scan_insn, at final.c:2897 > [ 555s] struct rte_event_timer **tim, \ > [ 555s] ^ > [ 555s] ../drivers/event/octeontx2/otx2_tim_evdev.h:208:1: note: in expa= nsion of macro 'FP' > [ 555s] FP(mod, 0, 0, 0, OTX2_TIM_BKT_MOD | OTX2_TIM_ENA_DFB) \ > [ 555s] ^ > [ 555s] ../drivers/event/octeontx2/otx2_tim_worker.c:161:1: note: in exp= ansion of macro 'TIM_ARM_TMO_FASTPATH_MODES' > [ 555s] TIM_ARM_TMO_FASTPATH_MODES > [ 555s] ^ > [ 555s] Please submit a full bug report, > [ 555s] with preprocessed source if appropriate. > [ 555s] See for instructions. > [ 555s] {standard input}: Assembler messages: > [ 555s] {standard input}: Error: open CFI at the end of file; missing .c= fi_endproc directive > [ 555s] Preprocessed source stored into /tmp/ccpVQUdT.out file, please a= ttach this to your bugreport. > > -- > Kind regards, > Luca Boccassi