|WARNING| eal: remove atomic flag operations
dpdklab at iol.unh.edu
dpdklab at iol.unh.edu
Thu Sep 17 23:16:29 CEST 2026
Test-Label: ai-code-review
Test-Status: WARNING
https://dpdk.org/patch/169784
_AI Code Review_
=== Patch Review: series.patch (via Claude) ===
Review date: 2026-09-17
# DPDK Patch Review
## Summary
This patch removes `rte_atomic_flag_test_and_set_explicit` and `rte_atomic_flag_clear_explicit` macros from the EAL atomic API. The change is appropriate for an ABI-breaking release (26.11) and addresses a real portability issue.
---
## Findings
### Errors
None.
### Warnings
**Release notes wording**
The release notes entry is placed in the "Removed Items" section but should also have a corresponding entry in the "API Changes" section. While the removal is documented, API changes should be called out explicitly in both sections for visibility.
Suggested addition to API Changes section:
```rst
* eal: Removed ``rte_atomic_flag_test_and_set_explicit`` and
``rte_atomic_flag_clear_explicit`` macros. Applications should use
``rte_atomic_exchange_explicit``, ``rte_atomic_load_explicit``,
and ``rte_atomic_store_explicit`` on ``RTE_ATOMIC(bool)`` instead.
See "Removed Items" for details on why these macros were not portable.
```
---
## Info
**Documentation clarity**
The release notes accurately describe the problem: the API cannot be used portably because:
1. Only test-and-set and clear were wrapped (no load/init operations)
2. Operand type differs between stdatomic and compiler builtin implementations
The migration path is clear: use the standard atomic operations on `RTE_ATOMIC(bool)`.
**Removal justification**
The patch correctly identifies this as appropriate for removal without deprecation notice:
- No in-tree users (verified by the claim)
- API is fundamentally unusable as specified
- 26.11 is an ABI break release
This is consistent with DPDK policy for removing broken API.
---
## Conclusion
The patch is technically correct and the removal is justified. The only suggestion is to add a brief entry in the API Changes section for better visibility, though the detailed explanation in Removed Items is appropriate.
More information about the test-report
mailing list