|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