> From: Stephen Hemminger [mailto:[email protected]] > Sent: Saturday, 30 May 2026 00.59 > > On Fri, 29 May 2026 22:45:00 +0200 > Morten Brørup <[email protected]> wrote: > > > If you are curious too... > > Does the compiler still get confused about AVX rte_memcpy (without > this patch), if applying the rte_memcpy patch? > > https://patchwork.dpdk.org/project/dpdk/patch/20260521185631.116046- > [email protected]/ > > No still fails. > > This is if __rte_always_inline is defined as just inline as an > experiment. > Compiler gets confused in virtio_net because of matching conditions > doing > initialization in virtio_net. > > Also, has issue with rte_memcpy. > > ninja: Entering directory `build' > [2352/3763] Compiling C object > lib/librte_vhost.a.p/vhost_virtio_net.c.o > ../lib/vhost/virtio_net.c: In function ‘desc_to_mbuf’: > ../lib/vhost/virtio_net.c:3025:34: warning: ‘pkts_info’ may be used > uninitialized [-Wmaybe-uninitialized] > 3025 | pkts_info[slot_idx].nethdr = *hdr; > | ^ > ../lib/vhost/virtio_net.c:2915:37: note: ‘pkts_info’ was declared here > 2915 | struct async_inflight_info *pkts_info; > | ^~~~~~~~~ > [3487/3763] Compiling C object app/dpdk-test.p/test_test_ipsec.c.o > In file included from /usr/lib/gcc/x86_64-linux- > gnu/15/include/immintrin.h:43, > from ../lib/eal/x86/include/rte_rtm.h:8, > from ../lib/eal/x86/include/rte_spinlock.h:9, > from ../lib/mempool/rte_mempool.h:44, > from ../lib/mbuf/rte_mbuf.h:39, > from ../app/test/test_ipsec.c:11: > In function ‘_mm256_loadu_si256’, > inlined from ‘rte_mov32’ at > ../lib/eal/x86/include/rte_memcpy.h:119:9, > inlined from ‘rte_mov64’ at > ../lib/eal/x86/include/rte_memcpy.h:158:2, > inlined from ‘rte_mov128’ at > ../lib/eal/x86/include/rte_memcpy.h:170:2, > inlined from ‘rte_memcpy_generic_more_than_64’ at > ../lib/eal/x86/include/rte_memcpy.h:389:4, > inlined from ‘rte_memcpy’ at > ../lib/eal/x86/include/rte_memcpy.h:715:10, > inlined from ‘setup_test_string_tunneled.constprop’ at > ../app/test/test_ipsec.c:615:3: > /usr/lib/gcc/x86_64-linux-gnu/15/include/avxintrin.h:873:10: warning: > array subscript ‘__m256i_u[3]’ is partly outside array bounds of ‘const > char[108]’ [-Warray-bounds=] > 873 | return *__P; > | ^~~~ > ../app/test/test_ipsec.c: In function > ‘setup_test_string_tunneled.constprop’: > ../app/test/test_ipsec.c:527:12: note: at offset 96 into object > ‘null_plain_data’ of size 108 > 527 | const char null_plain_data[] = > | ^~~~~~~~~~~~~~~ > [3763/3763] Linking target app/dpdk-test
Interesting experiment. Thanks for sharing.

