On Tue, Feb 10, 2026 at 12:08:44AM +0100, Morten Brørup wrote:
> > +static inline void
> > +write_txd(volatile void *txd, uint64_t qw0, uint64_t qw1)
> > +{
> > +   uint64_t *txd_qw = __rte_assume_aligned(RTE_CAST_PTR(void *,
> > txd), 16);
> > +
> > +   txd_qw[0] = rte_cpu_to_le_64(qw0);
> > +   txd_qw[1] = rte_cpu_to_le_64(qw1);
> > +}
> 
> How about using __rte_aligned() instead, something like this (untested):
> 
> struct __rte_aligned(16) txd_t {
>       uint64_t        qw0;
>       uint64_t        qw1;
> };
> 
> *RTE_CAST_PTR(volatile struct txd_t *, txd) = {
>       rte_cpu_to_le_64(qw0),
>       rte_cpu_to_le_64(qw1)
> };
> 
This approach works fine, and allows me to drop the previous patch too.
Updating to use a struct type in next revision.

/Bruce

Reply via email to