On Wed, 12 Aug 2026 10:55:31 -0700
Stephen Hemminger <[email protected]> wrote:

> This was found by AI sandbox build when doing other fixes
> to EAL. The sxe2 driver was doing handrolled meson to pick
> up AVX which fails if security library not present.
> 
> Fix build failure when building with
> "meson setup build -Denable_libs=eal":
> 
>   drivers/net/sxe2/meson.build:37:24: ERROR:
>   Unknown variable name "static_rte_security".
> 
> Use sources_avx2 and sources_avx512 instead of hand-rolled
> static libraries.
> 
> Fixes: 59d866861188 ("net/sxe2: add AVX2 Rx and Tx")
> Fixes: 0af0bdcdcf83 ("net/sxe2: add AVX512 Rx and Tx")
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---

AI check of CI AI review says all its complaints are noise.

Not valid. I verified every claim against the upstream tree and empirically 
built it — none of the four findings hold up. The review is a textbook 
diff-only miss: all of its doubts hinge on infrastructure in 
drivers/meson.build that it couldn't see.

What I verified:

Warning 2 (sources_avx2/avx512 "potentially unused") — false. 
drivers/meson.build initializes sources_avx2 = [] / sources_avx512 = [] per 
driver (lines 155–156) and processes them after subdir'ing (lines 294–313), 
building static libs with static_deps and extracting the objects. Empirically: 
applied the patch, built with -Denable_drivers=net/sxe2,common/sxe2, and the 
final librte_net_sxe2.a contains both sxe2_txrx_vec_avx2.c.o and 
sxe2_txrx_vec_avx512.c.o. This warning is also exactly the "should be verified" 
hedge pattern AGENTS.md tells reviewers to suppress.

Info 1 (CC_AVX512_SUPPORT removed) — not an issue. The standard infrastructure 
does cflags += '-DCC_AVX512_SUPPORT' (line 305) when sources_avx512 is nonempty 
and cc_has_avx512, before the main driver lib builds. Confirmed in the 
generated build.ninja: sxe2_txrx.c.o (which contains the #ifdef 
CC_AVX512_SUPPORT burst-function selection) compiles with the define, and the 
AVX512 object gets the skylake-avx512 march flags. The standard cc_has_avx512 
gate is actually stricter than the old hand-rolled check — it accounts for 
binutils AVX512 bugs.

Info 2 (dependency list removed) — not an issue. static_deps is assembled from 
the driver's own deps (static_deps += get_variable('static_rte_' + d), line 
236), and sxe2's meson.build already declares deps += ['common_sxe2', 'hash', 
'cryptodev', 'security'] — visible in the patch's own context lines. The 
suggestion to consider dropping security/cryptodev is also wrong: sxe2_ipsec.c 
and sxe2_security.c are in the main sources list. Critically, routing deps 
through deps is the mechanism of the fix — missing libs now cleanly disable the 
driver instead of hitting an undefined-variable error at setup time.

Warning 1 (missing release notes) — false positive. The suggested "Fixed 
Issues"/"Bugs Fixed" section doesn't exist; release_26_11.rst has only New 
Features, Removed Items, API Changes, ABI Changes, Known Issues. DPDK doesn't 
document bug fixes in main-branch release notes — the Fixes: tags handle stable 
backport tracking.

End-to-end confirmation: on the pre-patch tree, meson setup -Denable_libs=eal 
reproduces the exact reported error (Unknown variable name 
"static_rte_security"); on the patched tree the same setup succeeds with sxe2 
cleanly disabled ("missing internal dependency cryptodev"), and the default 
config builds the driver with both vector paths linked in. The patch is correct 
and complete as-is — I'd reply to the CI bot noting the drivers/meson.build 
infrastructure it missed, since the two Warnings are precisely the 
vague-verification pattern AGENTS.md is supposed to suppress.

Reply via email to