Hi, > -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Michael Baum > Sent: Tuesday, July 21, 2020 3:01 PM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@mellanox.com>; Slava Ovsiienko > <viachesl...@mellanox.com>; sta...@dpdk.org > Subject: [dpdk-dev] [PATCH] net/mlx4: optimize stuck memory size in probe > > The mlx4_pci_probe function sets a pointer to the mlx4_priv structure, > and during that function fills its fields one by one with relevant > values. > > It wants to put a value in the intr_handle field that has all its fields > zero except 2. To do so, it initializes a local struct rte_intr_handle > type variable and updates it only 2 fields and assigns it into the > appropriate field. However, it initializes a very large structure on the > stack while not at all certain that this place exists and in any case it > is very wasteful. > > Reset all fields directly to the pointer by memset, then format the 2 > fields to the relevant values. > > Fixes: 63c2f23c852a ("net/mlx4: use a single interrupt handle") > Cc: sta...@dpdk.org > > Signed-off-by: Michael Baum <michae...@mellanox.com> > Acked-by: Matan Azrad <ma...@mellanox.com> > --- > drivers/net/mlx4/mlx4.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c > index e619a74..71061a7 100644 > --- a/drivers/net/mlx4/mlx4.c > +++ b/drivers/net/mlx4/mlx4.c > @@ -1029,10 +1029,9 @@ struct mlx4_conf { > eth_dev->device = &pci_dev->device; > rte_eth_copy_pci_info(eth_dev, pci_dev); > /* Initialize local interrupt handle for current port. */ > - priv->intr_handle = (struct rte_intr_handle){ > - .fd = -1, > - .type = RTE_INTR_HANDLE_EXT, > - }; > + memset(&priv->intr_handle, 0, sizeof(struct > rte_intr_handle)); > + priv->intr_handle.fd = -1; > + priv->intr_handle.type = RTE_INTR_HANDLE_EXT; > /* > * Override ethdev interrupt handle pointer with private > * handle instead of that of the parent PCI device used by > -- > 1.8.3.1
Patch applied to next-net-mlx Kindest regards, Raslan Darawsheh