[PATCH v4 3/4] net/macb: add NEON vectorized Rx/Tx

Stephen Hemminger stephen at networkplumber.org
Sun Oct 26 19:02:22 CET 2025


On Wed,  2 Apr 2025 06:59:12 +0000
liwencheng <liwencheng at phytium.com.cn> wrote:

> To optimize Rx/Tx burst process,
> add NEON vector instructions on arm architecture.
> 
> v4:
> * Support hardware Rx checksum offload.
> * Fixed some code style issues.
> 
> Signed-off-by: liwencheng <liwencheng at phytium.com.cn>

Build is failing on Fedora for this.

FAILED: [code=1] drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx_vec_neon.c.o
clang -Idrivers/libtmp_rte_net_macb.a.p -Idrivers -I../drivers -Idrivers/net/macb -I../drivers/net/macb -Idrivers/net/macb/base -I../drivers/net/macb/base -Ilib/ethdev -I../lib/ethdev -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/arm/include -I../lib/eal/arm/include -I../kernel/linux -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/argparse -I../lib/argparse -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev -I../drivers/bus/vdev -Xclang -fcolor-diagnostics -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wcomma -Wd
 eprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -fPIC -march=armv8.1-a+crc+crypto -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-address-of-packed-member -Wno-comma -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.macb -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx_vec_neon.c.o -MF drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx_vec_neon.c.o.d -o drivers/libtmp_rte_net_macb.a.p/net_macb_macb_rxtx_vec_neon.c.o -c ../drivers/net/macb/macb_rxtx_vec_neon.c
../drivers/net/macb/macb_rxtx_vec_neon.c:59:30: error: cast from 'volatile unsigned long (*)[1]' to 'unsigned long *' drops volatile qualifier [-Werror,-Wcast-qual]
59 |                 vset_lane_u64(*(uint64_t *)(&mbuf.rearm_data), mbuf_initializer, 0);
|                                            ^


More information about the dev mailing list