RE: [PATCH v5 20/35] net/intel: write descriptors using non-volatile pointers

Morten Brørup
2026-02-11T21:14:26Z

> +static inline void
> +write_txd(volatile void *txd, uint64_t qw0, uint64_t qw1)
> +{
> + /* we use an aligned structure and cast away the volatile to
> allow the compiler
> + * to opportunistically optimize the two 64-bit writes as a
> single 128-bit write.
> + */
> + __rte_aligned(16) struct txdesc {
> + uint64_t qw0, qw1;

The documentation for __rte_aligned() says [1] it must be between the "struct" keyword and the name of the structure.
I.e. it should be:
struct __rte_aligned(16) txdesc {

[1]: https://elixir.bootlin.com/dpdk/v25.11/source/lib/eal/include/rte_common.h#L109

> + } *txdesc = RTE_CAST_PTR(struct txdesc *, txd);
> + txdesc->qw0 = rte_cpu_to_le_64(qw0);
> + txdesc->qw1 = rte_cpu_to_le_64(qw1);
> +}