I checked the default build, as expected no breakage. But this no more is about the default dpdk build, but a potential gcc bug lets ignore the default gcc build and use DPDK source as a test.
To enable a non portable build you would have to use the rte_machine DBE_BUILD_OPTION in dpdk. $ DEB_BUILD_OPTIONS="parallel=8 rte_machine=native" sbuild --purge=never -Adbionic-amd64 dpdk_18.08-1~ubuntu0.18.04.5.dsc Further is you don't have the very latest skylake you'd also need to modify a build file to set this march still. => mk/machine/native/rte.vars.mk Replace -march=native with -march=skylake-avx512 Then check the built testpmd program from the static build tree (to have all in one object): $ objdump -dM intel /build/dpdk-9ZbA0X/dpdk-18.08/debian/build/static-root/build/app/test-pmd/testpmd > /tmp/testpmd.objdump grep -e 'vmovdqu' /tmp/testpmd.objdump | grep -e '\[rax.*0x[2468]\]' | pastebinit -march=skylake-avx512 -mno-avx512f => http://paste.ubuntu.com/p/nGrfJgffbk/ -march=skylake-avx512 => http://paste.ubuntu.com/p/zhbhFRqVjF/ I do not see the same error sequence as reported in https://bugs.dpdk.org/show_bug.cgi?id=97#c39 Could it be that: gdb -batch -ex 'file /build/dpdk-9ZbA0X/dpdk-18.08/debian/build/static-root/build/app/test-pmd/testpmd' -ex 'set disassembly-flavor intel' -ex 'disassemble/rs mlx5_tx_descriptor_status' | less /build/dpdk-9ZbA0X/dpdk-18.08/debian/build/static-root/include/rte_memcpy.h: 427 dst = (uint8_t *)dst + 128; 0x000000000045a1d7 <+2311>: 48 83 ea 80 sub rdx,0xffffffffffffff80 /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h: 921 return *__P; 0x000000000045a1db <+2315>: 62 f1 fe 28 6f 04 c5 01 00 00 00 vmovdqu64 ymm0,YMMWORD PTR [rax*8+0x1] 922 } 923 924 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 925 _mm256_storeu_si256 (__m256i_u *__P, __m256i __A) 926 { 927 *__P = __A; 0x000000000045a1e6 <+2326>: 62 f1 fe 28 7f 42 fd vmovdqu64 YMMWORD PTR [rdx-0x60],ymm0 921 return *__P; 0x000000000045a1ed <+2333>: 62 f1 fe 28 6f 04 c5 02 00 00 00 vmovdqu64 ymm0,YMMWORD PTR [rax*8+0x2] 922 } 923 924 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 925 _mm256_storeu_si256 (__m256i_u *__P, __m256i __A) 926 { 927 *__P = __A; 0x000000000045a1f8 <+2344>: 62 f1 fe 28 7f 42 fe vmovdqu64 YMMWORD PTR [rdx-0x40],ymm0 921 return *__P; 0x000000000045a1ff <+2351>: 62 f1 fe 28 6f 04 c5 03 00 00 00 vmovdqu64 ymm0,YMMWORD PTR [rax*8+0x3] -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1799397 Title: [dpdk]rte_memcpy() moves data incorrectly on Ubuntu 18.04 on Intel Skylake. To manage notifications about this bug go to: https://bugs.launchpad.net/dpdk/+bug/1799397/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
