[dpdk-dev] DPDK Release Status Meeting 12/11/2020

Ruifeng Wang Ruifeng.Wang at arm.com
Wed Nov 18 07:24:19 CET 2020


> -----Original Message-----
> From: David Marchand <david.marchand at redhat.com>
> Sent: Thursday, November 12, 2020 7:58 PM
> To: jerinj at marvell.com; Ruifeng Wang <Ruifeng.Wang at arm.com>
> Cc: dev at dpdk.org; thomas at monjalon.net; Ferruh Yigit
> <ferruh.yigit at intel.com>; Luca Boccassi <bluca at debian.org>; nd
> <nd at arm.com>
> Subject: Re: [dpdk-dev] DPDK Release Status Meeting 12/11/2020
> 
> On Thu, Nov 12, 2020 at 12:39 PM Ferruh Yigit <ferruh.yigit at intel.com>
> wrote:
> >    * In suse build environment, there are some arm and PPC build error
> >      * For arm the RHEL 7 compiler for arm is too old
> >        * Can be possible to disable the failing driver and still test
> > the rest
> 
> Luca also mentioned an issue on Centos 8.
> 
> 
> Interestingly, I am not able to reproduce it in my OBS env.
> https://build.opensuse.org/build/home:dmarchan/home_bluca_dpdk_Cent
> OS_8/aarch64/dpdk/_log
> 
> [  135s] [118/2414] cc -Ilib/76b5a35@@rte_net at sta -Ilib -I../lib -
> Ilib/librte_net -I../lib/librte_net -I. -I../ -Iconfig -I../config -
> Ilib/librte_eal/include -I../lib/librte_eal/include -Ilib/librte_eal/linux/include -
> I../lib/librte_eal/linux/include -Ilib/librte_eal/arm/include -
> I../lib/librte_eal/arm/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_telemetry/../librte_metrics
> -I../lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry -
> I../lib/librte_telemetry -Ilib/librte_mbuf -I../lib/librte_mbuf -
> Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_ring -
> I../lib/librte_ring -fdiagnostics-color=always -pipe
> -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -include rte_config.h -
> Wextra -Wcast-qual -Wdeprecated -Wmissing-declarations -Wmissing-
> prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -
> Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-
> not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fcommon -
> Werror -fPIC -march=armv8.1-a+crc+crypto -mcpu=thunderx2t99 -
> DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-
> truncation -DCC_ARM64_NEON_PMULL_SUPPORT  -MD -MQ
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o' -MF
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o.d' -o
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o' -
> c ../lib/librte_net/net_crc_neon.c
> 
> Looking at Luca env log:
> https://build.opensuse.org/build/home:bluca:dpdk/CentOS_8/aarch64/dpd
> k/_log
> 
> [  290s] [117/2414] cc -Ilib/76b5a35@@rte_net at sta -Ilib -I../lib -
> Ilib/librte_net -I../lib/librte_net -I. -I../ -Iconfig -I../config -
> Ilib/librte_eal/include -I../lib/librte_eal/include -Ilib/librte_eal/linux/include -
> I../lib/librte_eal/linux/include -Ilib/librte_eal/arm/include -
> I../lib/librte_eal/arm/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_telemetry/../librte_metrics
> -I../lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry -
> I../lib/librte_telemetry -Ilib/librte_mbuf -I../lib/librte_mbuf -
> Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_ring -
> I../lib/librte_ring -fdiagnostics-color=always -pipe
> -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -include rte_config.h -
> Wextra -Wcast-qual -Wdeprecated -Wmissing-declarations -Wmissing-
> prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -
> Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-
> not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fcommon -
> Werror -fPIC
> -mcpu=thunderxt88 -DALLOW_EXPERIMENTAL_API -
> DALLOW_INTERNAL_API -Wno-format-truncation -
> DCC_ARM64_NEON_PMULL_SUPPORT  -MD -MQ
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o' -MF
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o.d' -o
> 'lib/76b5a35@@rte_net at sta/librte_net_net_crc_neon.c.o' -
> c ../lib/librte_net/net_crc_neon.c ...
> [  290s] ../lib/librte_net/net_crc_neon.c: In function 'crcr32_folding_round':
> [  290s] /usr/lib/gcc/aarch64-redhat-linux/8/include/arm_neon.h:26094:1:
> error: inlining failed in call to always_inline 'vmull_p64': target specific option
> mismatch [  290s]  vmull_p64 (poly64_t a, poly64_t b) [  290s]  ^~~~~~~~~
> 
> 
> The difference is:
> - for me -march=armv8.1-a+crc+crypto -mcpu=thunderx2t99 (working)
> - for Luca -mcpu=thunderxt88 (*not* working)
> 
> Could you ARM guys have a look?
> My gut feeling is that there is some check missing in
> lib/librte_net/meson.build, maybe checking for __ARM_NEON in addition to
> the check on __ARM_FEATURE_CRYPTO?
> 
Sorry for the late reply. My inbox had some disorder.

This can be reproduced when doing gcc build on ThunderX platform.
It has something to do with gcc -mcpu=thunderxt88 option. Clang build works well.
Similar issue has been fixed for ThunderX2:
https://git.dpdk.org/dpdk/commit/?id=c199ca15769370c848179065a57132569c6f03b3

I tried to do the same change for ThunderX, but ran into some other problem:
[2512/2512] Linking target app/test/dpdk-test
FAILED: app/test/dpdk-test
cc  -o app/test/dpdk-test app/test/dpdk-test.p/commands.c.o app/test/dpdk-test.p/packet_burst_generator.c.o app/test/dpdk-test.p/test.c.o app/test/dpdk-test.p/test_acl.c.o app/test/dpdk-test.p/test_alarm.c.o app/test/dpdk-test.p/test_atomic.c.o app/test/dpdk-test.p/test_barrier.c.o app/test/dpdk-test.p/test_bitops.c.o app/test/dpdk-test.p/test_bpf.c.o app/test/dpdk-test.p/test_byteorder.c.o app/test/dpdk-test.p/test_cmdline.c.o app/test/dpdk-test.p/test_cmdline_cirbuf.c.o app/test/dpdk-test.p/test_cmdline_etheraddr.c.o app/test/dpdk-test.p/test_cmdline_ipaddr.c.o app/test/dpdk-test.p/test_cmdline_lib.c.o app/test/dpdk-test.p/test_cmdline_num.c.o app/test/dpdk-test.p/test_cmdline_portlist.c.o app/test/dpdk-test.p/test_cmdline_string.c.o app/test/dpdk-test.p/test_common.c.o app/test/dpdk-test.p/test_cpuflags.c.o app/test/dpdk-test.p/test_crc.c.o app/test/dpdk-test.p/test_cryptodev.c.o app/test/dpdk-test.p/test_cryptodev_asym.c.o app/test/dpdk-test.p/test_cryptodev_blockcipher.c.o app/test/dpdk-test.p/test_cryptodev_security_pdcp.c.o app/test/dpdk-test.p/test_cycles.c.o app/test/dpdk-test.p/test_debug.c.o app/test/dpdk-test.p/test_distributor.c.o app/test/dpdk-test.p/test_distributor_perf.c.o app/test/dpdk-test.p/test_eal_flags.c.o app/test/dpdk-test.p/test_eal_fs.c.o app/test/dpdk-test.p/test_efd.c.o app/test/dpdk-test.p/test_efd_perf.c.o app/test/dpdk-test.p/test_errno.c.o app/test/dpdk-test.p/test_ethdev_link.c.o app/test/dpdk-test.p/test_event_crypto_adapter.c.o app/test/dpdk-test.p/test_event_eth_rx_adapter.c.o app/test/dpdk-test.p/test_event_ring.c.o app/test/dpdk-test.p/test_event_timer_adapter.c.o app/test/dpdk-test.p/test_eventdev.c.o app/test/dpdk-test.p/test_external_mem.c.o app/test/dpdk-test.p/test_fbarray.c.o app/test/dpdk-test.p/test_fib.c.o app/test/dpdk-test.p/test_fib_perf.c.o app/test/dpdk-test.p/test_fib6.c.o app/test/dpdk-test.p/test_fib6_perf.c.o app/test/dpdk-test.p/test_func_reentrancy.c.o app/test/dpdk-test.p/test_flow_classify.c.o app/test/dpdk-test.p/test_graph.c.o app/test/dpdk-test.p/test_graph_perf.c.o app/test/dpdk-test.p/test_hash.c.o app/test/dpdk-test.p/test_hash_functions.c.o app/test/dpdk-test.p/test_hash_multiwriter.c.o app/test/dpdk-test.p/test_hash_readwrite.c.o app/test/dpdk-test.p/test_hash_perf.c.o app/test/dpdk-test.p/test_hash_readwrite_lf_perf.c.o app/test/dpdk-test.p/test_interrupts.c.o app/test/dpdk-test.p/test_ipfrag.c.o app/test/dpdk-test.p/test_ipsec.c.o app/test/dpdk-test.p/test_ipsec_sad.c.o app/test/dpdk-test.p/test_ipsec_perf.c.o app/test/dpdk-test.p/test_kni.c.o app/test/dpdk-test.p/test_kvargs.c.o app/test/dpdk-test.p/test_lcores.c.o app/test/dpdk-test.p/test_logs.c.o app/test/dpdk-test.p/test_lpm.c.o app/test/dpdk-test.p/test_lpm6.c.o app/test/dpdk-test.p/test_lpm6_perf.c.o app/test/dpdk-test.p/test_lpm_perf.c.o app/test/dpdk-test.p/test_malloc.c.o app/test/dpdk-test.p/test_mbuf.c.o app/test/dpdk-test.p/test_member.c.o app/test/dpdk-test.p/test_member_perf.c.o app/test/dpdk-test.p/test_memcpy.c.o app/test/dpdk-test.p/test_memcpy_perf.c.o app/test/dpdk-test.p/test_memory.c.o app/test/dpdk-test.p/test_mempool.c.o app/test/dpdk-test.p/test_mempool_perf.c.o app/test/dpdk-test.p/test_memzone.c.o app/test/dpdk-test.p/test_meter.c.o app/test/dpdk-test.p/test_metrics.c.o app/test/dpdk-test.p/test_mcslock.c.o app/test/dpdk-test.p/test_mp_secondary.c.o app/test/dpdk-test.p/test_per_lcore.c.o app/test/dpdk-test.p/test_pmd_perf.c.o app/test/dpdk-test.p/test_power.c.o app/test/dpdk-test.p/test_power_cpufreq.c.o app/test/dpdk-test.p/test_power_kvm_vm.c.o app/test/dpdk-test.p/test_prefetch.c.o app/test/dpdk-test.p/test_rand_perf.c.o app/test/dpdk-test.p/test_rawdev.c.o app/test/dpdk-test.p/test_rcu_qsbr.c.o app/test/dpdk-test.p/test_rcu_qsbr_perf.c.o app/test/dpdk-test.p/test_reciprocal_division.c.o app/test/dpdk-test.p/test_reciprocal_division_perf.c.o app/test/dpdk-test.p/test_red.c.o app/test/dpdk-test.p/test_reorder.c.o app/test/dpdk-test.p/test_rib.c.o app/test/dpdk-test.p/test_rib6.c.o app/test/dpdk-test.p/test_ring.c.o app/test/dpdk-test.p/test_ring_mpmc_stress.c.o app/test/dpdk-test.p/test_ring_hts_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_perf.c.o app/test/dpdk-test.p/test_ring_rts_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_stress.c.o app/test/dpdk-test.p/test_rwlock.c.o app/test/dpdk-test.p/test_sched.c.o app/test/dpdk-test.p/test_security.c.o app/test/dpdk-test.p/test_service_cores.c.o app/test/dpdk-test.p/test_spinlock.c.o app/test/dpdk-test.p/test_stack.c.o app/test/dpdk-test.p/test_stack_perf.c.o app/test/dpdk-test.p/test_string_fns.c.o app/test/dpdk-test.p/test_table.c.o app/test/dpdk-test.p/test_table_acl.c.o app/test/dpdk-test.p/test_table_combined.c.o app/test/dpdk-test.p/test_table_pipeline.c.o app/test/dpdk-test.p/test_table_ports.c.o app/test/dpdk-test.p/test_table_tables.c.o app/test/dpdk-test.p/test_tailq.c.o app/test/dpdk-test.p/test_thash.c.o app/test/dpdk-test.p/test_timer.c.o app/test/dpdk-test.p/test_timer_perf.c.o app/test/dpdk-test.p/test_timer_racecond.c.o app/test/dpdk-test.p/test_timer_secondary.c.o app/test/dpdk-test.p/test_ticketlock.c.o app/test/dpdk-test.p/test_trace.c.o app/test/dpdk-test.p/test_trace_register.c.o app/test/dpdk-test.p/test_trace_perf.c.o app/test/dpdk-test.p/test_version.c.o app/test/dpdk-test.p/virtual_pmd.c.o app/test/dpdk-test.p/test_telemetry_json.c.o app/test/dpdk-test.p/test_telemetry_data.c.o app/test/dpdk-test.p/test_link_bonding.c.o app/test/dpdk-test.p/test_link_bonding_rssconf.c.o app/test/dpdk-test.p/test_link_bonding_mode4.c.o app/test/dpdk-test.p/test_pmd_ring_perf.c.o app/test/dpdk-test.p/test_pmd_ring.c.o app/test/dpdk-test.p/test_event_eth_tx_adapter.c.o app/test/dpdk-test.p/test_bitratestats.c.o app/test/dpdk-test.p/test_latencystats.c.o app/test/dpdk-test.p/sample_packet_forward.c.o app/test/dpdk-test.p/test_pdump.c.o app/test/dpdk-test.p/test_compressdev.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--whole-archive -Wl,--start-group lib/librte_node.a lib/librte_graph.a lib/librte_bpf.a lib/librte_flow_classify.a lib/librte_pipeline.a lib/librte_table.a lib/librte_port.a lib/librte_fib.a lib/librte_ipsec.a lib/librte_vhost.a lib/librte_stack.a lib/librte_security.a lib/librte_sched.a lib/librte_reorder.a lib/librte_rib.a lib/librte_regexdev.a lib/librte_rawdev.a lib/librte_pdump.a lib/librte_power.a lib/librte_member.a lib/librte_lpm.a lib/librte_latencystats.a lib/librte_kni.a lib/librte_jobstats.a lib/librte_ip_frag.a lib/librte_gso.a lib/librte_gro.a lib/librte_eventdev.a lib/librte_efd.a lib/librte_distributor.a lib/librte_cryptodev.a lib/librte_compressdev.a lib/librte_cfgfile.a lib/librte_bitratestats.a lib/librte_bbdev.a lib/librte_acl.a lib/librte_timer.a lib/librte_hash.a lib/librte_metrics.a lib/librte_cmdline.a lib/librte_pci.a lib/librte_ethdev.a lib/librte_meter.a lib/librte_net.a lib/librte_mbuf.a lib/librte_mempool.a lib/librte_rcu.a lib/librte_ring.a lib/librte_eal.a lib/librte_telemetry.a lib/librte_kvargs.a drivers/librte_common_cpt.a drivers/librte_common_dpaax.a drivers/librte_common_iavf.a drivers/librte_common_octeontx.a drivers/librte_common_octeontx2.a drivers/librte_common_sfc_efx.a drivers/librte_bus_dpaa.a drivers/librte_bus_fslmc.a drivers/librte_bus_ifpga.a drivers/librte_bus_pci.a drivers/librte_bus_vdev.a drivers/librte_bus_vmbus.a drivers/librte_common_mlx5.a drivers/librte_common_qat.a drivers/librte_mempool_bucket.a drivers/librte_mempool_dpaa.a drivers/librte_mempool_dpaa2.a drivers/librte_mempool_octeontx.a drivers/librte_mempool_octeontx2.a drivers/librte_mempool_ring.a drivers/librte_mempool_stack.a drivers/librte_net_af_packet.a drivers/librte_net_ark.a drivers/librte_net_atlantic.a drivers/librte_net_avp.a drivers/librte_net_axgbe.a drivers/librte_net_bond.a drivers/librte_net_bnx2x.a drivers/librte_net_bnxt.a drivers/librte_net_cxgbe.a drivers/librte_net_dpaa.a drivers/librte_net_dpaa2.a drivers/librte_net_e1000.a drivers/librte_net_ena.a drivers/librte_net_enetc.a drivers/librte_net_enic.a drivers/librte_net_failsafe.a drivers/librte_net_fm10k.a drivers/librte_net_i40e.a drivers/librte_net_hinic.a drivers/librte_net_hns3.a drivers/librte_net_iavf.a drivers/librte_net_ice.a drivers/librte_net_igc.a drivers/librte_net_ixgbe.a drivers/librte_net_kni.a drivers/librte_net_liquidio.a drivers/librte_net_memif.a drivers/librte_net_mlx4.a drivers/librte_net_mlx5.a drivers/librte_net_netvsc.a drivers/librte_net_nfp.a drivers/librte_net_null.a drivers/librte_net_octeontx.a drivers/librte_net_octeontx2.a drivers/librte_net_pfe.a drivers/librte_net_qede.a drivers/librte_net_ring.a drivers/librte_net_sfc.a drivers/librte_net_softnic.a drivers/librte_net_tap.a drivers/librte_net_thunderx.a drivers/librte_net_txgbe.a drivers/librte_net_vdev_netvsc.a drivers/librte_net_vhost.a drivers/librte_net_virtio.a drivers/librte_net_vmxnet3.a drivers/librte_raw_dpaa2_cmdif.a drivers/librte_raw_dpaa2_qdma.a drivers/librte_raw_ntb.a drivers/librte_raw_octeontx2_dma.a drivers/librte_raw_octeontx2_ep.a drivers/librte_raw_skeleton.a drivers/librte_crypto_bcmfs.a drivers/librte_crypto_caam_jr.a drivers/librte_crypto_ccp.a drivers/librte_crypto_dpaa_sec.a drivers/librte_crypto_dpaa2_sec.a drivers/librte_crypto_nitrox.a drivers/librte_crypto_null.a drivers/librte_crypto_octeontx.a drivers/librte_crypto_octeontx2.a drivers/librte_crypto_openssl.a drivers/librte_crypto_scheduler.a drivers/librte_crypto_virtio.a drivers/librte_compress_octeontx.a drivers/librte_compress_zlib.a drivers/librte_regex_mlx5.a drivers/librte_regex_octeontx2.a drivers/librte_vdpa_ifc.a drivers/librte_vdpa_mlx5.a drivers/librte_event_dpaa.a drivers/librte_event_dpaa2.a drivers/librte_event_octeontx2.a drivers/librte_event_opdl.a drivers/librte_event_skeleton.a drivers/librte_event_sw.a drivers/librte_event_dsw.a drivers/librte_event_octeontx.a drivers/librte_baseband_null.a drivers/librte_baseband_turbo_sw.a drivers/librte_baseband_fpga_lte_fec.a drivers/librte_baseband_fpga_5gnr_fec.a drivers/librte_baseband_acc100.a -Wl,--no-whole-archive -Wl,--no-as-needed -pthread -lm -ldl -lnuma /usr/lib/aarch64-linux-gnu/libz.so -lmlx5 -libverbs /usr/lib/aarch64-linux-gnu/libcrypto.so -lmlx4 -libverbs -lmlx5 -libverbs -lmlx5 -libverbs -lmlx5 -libverbs -Wl,--end-group -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
app/test/dpdk-test.p/test_hash_perf.c.o: In function `test_hash_perf':
test_hash_perf.c:(.text+0x1c74): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss'
test_hash_perf.c:(.text+0x1d8c): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss'
test_hash_perf.c:(.text+0x2508): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss'

Hi Jerin,

Can you help to look at this?
Thanks.
> 
> Thanks!
> 
> --
> David Marchand



More information about the dev mailing list