|SUCCESS| [2/2] net/mlx5: skip DevX Tx memory allocation for Verbs
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Tue Oct 20 16:56:53 CEST 2026
Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/171748
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-10-20
# DPDK Patch Review
## PATCH 1/2: net/mlx5: distinguish DevX availability from DevX use
### ERRORS
None.
### WARNINGS
None.
### INFO
**Correctness and design:**
The patch correctly splits a compound capability test (`mlx5_devx_obj_ops_en(sh)`)
into two separate concepts:
- `mlx5_devx_available(sh)`: whether DevX exists on the device
- `mlx5_devx_obj_ops_en(priv)`: whether the port selected DevX object operations
This is a sound design improvement. The old function mixed availability with the decision,
preventing Windows from detecting DevX LRO support.
The new `devx` boolean in `mlx5_obj_ops` is set in `mlx5_devx_obj_ops` and `mlx5_ibv_obj_ops`,
providing a reliable way to query the selected operations.
**Moved allocation block:**
The external queue allocation (lines 1804-1839 in the new code) is moved to after `obj_ops` selection.
This is correct: it depends on `mlx5_devx_obj_ops_en(priv)`, which now reads `priv->obj_ops.devx`,
so the allocation must occur after `priv->obj_ops` is assigned.
The error path cleanup (`goto error`) remains correct.
**API compatibility:**
The change to `mlx5_devx_obj_ops_en()` signature (takes `priv` instead of `sh`) is internal to the PMD.
No release notes are required.
---
## PATCH 2/2: net/mlx5: skip DevX Tx memory allocation for Verbs
### ERRORS
None.
### WARNINGS
None.
### INFO
**Fixes tag:**
The patch correctly identifies the commit that introduced the allocation
(`bbfab2eb2528`) and includes `Cc: stable at dpdk.org`.
**Correctness:**
The added check `!mlx5_devx_obj_ops_en(priv)` on line 1204 prevents the DevX-specific
consecutive Tx memory allocation when the port is using Verbs.
This avoids allocation failures on hardware where DevX is unavailable
or where the Linux-specific conditions (DV flow, Dest TIR) are not met.
The short-circuit is placed first in the condition, making the intent clear:
"if legacy mode OR not DevX, skip this allocation."
**Logical dependency on Patch 1:**
Patch 2 correctly uses the new `mlx5_devx_obj_ops_en(priv)` API introduced in Patch 1.
The sequence is correct.
---
## SUMMARY
Both patches are correct. The design change in Patch 1 cleanly separates two concepts
that were conflated, and Patch 2 correctly applies the new API to fix an allocation bug.
No issues found.
Review-Result: CLEAN
More information about the test-report
mailing list