On Mon, Nov 9, 2020 at 6:29 PM Thomas Monjalon <tho...@monjalon.net> wrote: > > 09/11/2020 13:01, Jerin Jacob: > > Hi @Thomas Monjalon > > > > Any specific reason why you removed the static assert from octeontx2. > > I have a build failure when cross-compiling for octeontx2.
I am trying the below command, I am not able to see any issue meson build --cross-file config/arm/arm64_octeontx2_linux_gcc Are you facing the issue with 32bit? Could you share the steps to reproduce and gcc version? > > > I am not able to compilation issue with that static assert. > > There is no issue when compiling for x86. > > > The current vector driver assumes pool and tx offload needs to 2 DWORDS > > apart, > > Which is the case before and after your change. > > You're right, pool and tx_offload are moved together. > The only difference is passing the cache line frontier. > > > Please remove that static assert change, No issue from my side on this > > patch. > > I cannot remove it without fixing something else, > maybe an issue in cache line alignment? Can try the below fix. If the issue is seen with 32bit. diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c index 6cebbe677..66a4d429d 100644 --- a/drivers/net/octeontx2/otx2_ethdev.c +++ b/drivers/net/octeontx2/otx2_ethdev.c @@ -749,7 +749,7 @@ nix_tx_offload_flags(struct rte_eth_dev *eth_dev) RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, pkt_len) != offsetof(struct rte_mbuf, ol_flags) + 12); RTE_BUILD_BUG_ON(offsetof(struct rte_mbuf, tx_offload) != - offsetof(struct rte_mbuf, pool) + 2 * sizeof(void *)); + offsetof(struct rte_mbuf, pool) + 2 * sizeof(uint64_t)); > > > In general, it is too much effort to re-verify and measure performance > > impact with > > all the cases after RC2, I hope this will last mbuf change in this release. > > Yes it is the last change to mbuf layout, > sorry for pushing all these changes so late. > > >