On Tue, Mar 5, 2024 at 6:37 PM Tyler Retzlaff <roret...@linux.microsoft.com> wrote: > > > diff --git a/lib/mbuf/rte_mbuf_core.h b/lib/mbuf/rte_mbuf_core.h > > > index 5688683..917a811 100644 > > > --- a/lib/mbuf/rte_mbuf_core.h > > > +++ b/lib/mbuf/rte_mbuf_core.h > > > @@ -463,7 +463,7 @@ enum { > > > /** > > > * The generic rte_mbuf, containing a packet mbuf. > > > */ > > > -struct rte_mbuf { > > > +struct __rte_cache_aligned rte_mbuf { > > > RTE_MARKER cacheline0; > > > > > > void *buf_addr; /**< Virtual address of segment buffer. > > > */ > > > @@ -476,7 +476,7 @@ struct rte_mbuf { > > > * same mbuf cacheline0 layout for 32-bit and 64-bit. This makes > > > * working on vector drivers easier. > > > */ > > > - rte_iova_t buf_iova __rte_aligned(sizeof(rte_iova_t)); > > > + alignas(sizeof(rte_iova_t)) rte_iova_t buf_iova; > > > #else > > > /** > > > * Next segment of scattered packet. > > > @@ -662,7 +662,7 @@ struct rte_mbuf { > > > uint16_t timesync; > > > > > > uint32_t dynfield1[9]; /**< Reserved for dynamic fields. */ > > > -} __rte_cache_aligned; > > > +}; > > > > I probably missed the discussion, but why is cacheline1 not handled in > > this patch? > > I was expecting a: > > - RTE_MARKER cacheline1 __rte_cache_min_aligned; > > + alignas(RTE_CACHE_LINE_MIN_SIZE) RTE_MARKER cacheline1; > > I should have replaced it I just missed it. Could I get you to fix it up? > We have 2 options. > > 1. You can leave it as is, eventually the other series I have dealing > with the markers I will probably remove the cacheline1 marker anyway. > > 2. You could adjust it as you've identified above, just move alignas > before the field type and name.
I like consistency, let's go with option 2. I'll adjust as I mentionned, no need for a v8. I already tested it in my builds. Thanks. -- David Marchand