Hi, > -----Original Message----- > From: dev <[email protected]> On Behalf Of Michael Baum > Sent: Tuesday, July 21, 2020 3:01 PM > To: [email protected] > Cc: Matan Azrad <[email protected]>; Slava Ovsiienko > <[email protected]>; [email protected] > 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: [email protected] > > Signed-off-by: Michael Baum <[email protected]> > Acked-by: Matan Azrad <[email protected]> > --- > 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

