Thank you Omar, this is indeed the same issue.
> -----Original Message----- > From: Omar Cardona <ocard...@microsoft.com> > Sent: Wednesday, May 13, 2020 11:08 AM > To: Tal Shnaiderman <tal...@mellanox.com>; Dmitry Kozlyuk > <dmitry.kozl...@gmail.com>; Thomas Monjalon <tho...@monjalon.net>; > pallavi.ka...@intel.com; navas...@linux.microsoft.com; > ranjit.me...@intel.com; Harini Ramakrishnan > <harini.ramakrish...@microsoft.com>; Dmitry Malloy (MESHCHANINOV) > <dmit...@microsoft.com>; Yohad Tor <yoh...@mellanox.com>; Jie Zhou > <j...@microsoft.com> > Cc: dev@dpdk.org > Subject: RE: rte_mbuf structure size in Windows > > Tal, > See attached compiler bug section for details. > > -----Original Message----- > From: Omar Cardona > Sent: Wednesday, May 13, 2020 1:04 AM > To: Tal Shnaiderman <tal...@mellanox.com>; Dmitry Kozlyuk > <dmitry.kozl...@gmail.com>; Thomas Monjalon <tho...@monjalon.net>; > pallavi.ka...@intel.com; navas...@linux.microsoft.com; > ranjit.me...@intel.com; Harini Ramakrishnan > <harini.ramakrish...@microsoft.com>; Dmitry Malloy (MESHCHANINOV) > <dmit...@microsoft.com>; Yohad Tor <yoh...@mellanox.com>; Jie Zhou > <j...@microsoft.com> > Cc: dev@dpdk.org > Subject: RE: rte_mbuf structure size in Windows > > IIRC, it's this issue. > https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs. > llvm.org%2Fshow_bug.cgi%3Fid%3D24383&data=02%7C01%7Ctalshn%4 > 0mellanox.com%7C2987047b646b4854350e08d7f714b2ea%7Ca652971c7d2e4 > d9ba6a4d149256f461b%7C0%7C0%7C637249540596603575&sdata=83m > NExOvXtXpKIt%2FZaqkoZadkuGpX1olQE3Scc1xOAQ%3D&reserved=0 > > -----Original Message----- > From: Tal Shnaiderman <tal...@mellanox.com> > Sent: Wednesday, May 13, 2020 12:55 AM > To: Dmitry Kozlyuk <dmitry.kozl...@gmail.com>; Thomas Monjalon > <tho...@monjalon.net>; pallavi.ka...@intel.com; > navas...@linux.microsoft.com; ranjit.me...@intel.com; Harini > Ramakrishnan <harini.ramakrish...@microsoft.com>; Omar Cardona > <ocard...@microsoft.com>; Dmitry Malloy (MESHCHANINOV) > <dmit...@microsoft.com>; Yohad Tor <yoh...@mellanox.com> > Cc: dev@dpdk.org > Subject: [EXTERNAL] rte_mbuf structure size in Windows > > Hi, > > I've noticed that there is a difference between the size of rte_mbuf in a Unix > build comparing to Windows. > > The requirements is for rte_mbuf is to be RTE_CACHE_LINE_MIN_SIZE * 2 > bytes however when I'm building it in Windows the size is > RTE_CACHE_LINE_MIN_SIZE * 3. > > Looks like the diff results from the usage of bit fields inside rte_mbuf, from > my testing it looks to me like the usage of 2 different bit fielded types > inside > rte_mbuf causes additional padding in Windows. > > For example from rte_mbuf, the following unions have the same size in > Windows and Linux: > > union { > uint32_t packet_type; > // bit fields of type uint32_t will follow > ... > };... > > 4 bytes both in Unix and Windows. > > union { > uint64_t tx_offload; > // bit fields of type uint64_t will follow > ... > }; > > 8 bytes both in Unix and Windows. > > However when creating a struct containing both unions I'm getting sizeof 16 > bytes in Unix and 24 bytes in Windows. > > Did someone faced this issue before? Is this a result of different alignment > between gcc and clang when bit fields are used? > > Thanks, > > Tal