> From: Stephen Hemminger [mailto:step...@networkplumber.org] > Sent: Thursday, 24 October 2024 18.42 > > On Thu, 24 Oct 2024 14:55:50 +0000 > Morten Brørup <m...@smartsharesystems.com> wrote: > > > diff --git a/drivers/net/bnxt/bnxt_ethdev.c > b/drivers/net/bnxt/bnxt_ethdev.c > > index 1f7c0d77d5..f34a953ecd 100644 > > --- a/drivers/net/bnxt/bnxt_ethdev.c > > +++ b/drivers/net/bnxt/bnxt_ethdev.c > > @@ -842,6 +842,8 @@ static int bnxt_alloc_prev_ring_stats(struct bnxt > *bp) > > return -ENOMEM; > > } > > > > +#pragma GCC push_options > > +#pragma GCC optimize("no-peel-loops") > > static int bnxt_start_nic(struct bnxt *bp) > > { > > struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(bp->eth_dev); > > @@ -1006,6 +1008,7 @@ static int bnxt_start_nic(struct bnxt *bp) > > > > return rc; > > } > > +#pragma GCC pop_options > > What is the warning,
The warning is about access at offset beyond the array. It seems the optimizer loop unrolls or something similar, not realizing the array only has one entry. And then it warns when it realizes afterwards. > I hate pragma's they are technical debt. Me too. The CI shows that clang doesn't have this problem, only GCC. But we should to be able to build DPDK with only one queue per port, to conserve memory.