08/11/2019 04:41, Stephen Hemminger: > On Thu, 7 Nov 2019 23:15:24 +0100 > Thomas Monjalon <tho...@monjalon.net> wrote: > > > The struct rte_eth_dev and rte_eth_dev_data are supposed > > to be used internally only, but there is a chance that > > increasing their size would break ABI for some applications. > > In order to allow smooth addition of features without breaking > > ABI compatibility, some space is reserved. > > > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > > --- > > @@ -764,6 +767,9 @@ struct rte_eth_dev_data { > > + > > + uint64_t reserved_64s[4]; /**< Reserved for future fields */ > > + void *reserved_ptrs[4]; /**< Reserved for future fields */ > > } __rte_cache_aligned; > > Void * is 32 bits on 32 bit architectures is that helpful or not?
That's why I reserved separately uint and pointers. If we need to add a pointer, we decrease the size of the pointer array to keep the same struct size on all archs.