[dpdk-stable] [PATCH v3 01/18] net/mlx5/windows: fix miss callback register for mem event
michaelba at nvidia.com
michaelba at nvidia.com
Tue Oct 19 22:55:45 CEST 2021
From: Michael Baum <michaelba at oss.nvidia.com>
In device initialization, the driver registers to free hugepages events.
When husepage is released, this callback frees all its related MRs.
In Windows initialization, this callback is not registered what may
cause to use invalid memory.
This patch adds memory event callback registration in Windows
initialization.
Fixes: 980826dc6f0f ("net/mlx5: probe on Windows")
Cc: stable at dpdk.org
Signed-off-by: Michael Baum <michaelba at oss.nvidia.com>
Acked-by: Matan Azrad <matan at nvidia.com>
---
drivers/net/mlx5/windows/mlx5_os.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c
index 149253d174..459414d5c2 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -122,8 +122,21 @@ mlx5_init_shared_data(void)
static int
mlx5_init_once(void)
{
+ struct mlx5_shared_data *sd;
+
if (mlx5_init_shared_data())
return -rte_errno;
+ sd = mlx5_shared_data;
+ rte_spinlock_lock(&sd->lock);
+ MLX5_ASSERT(sd);
+ if (!sd->init_done) {
+ LIST_INIT(&sd->mem_event_cb_list);
+ rte_rwlock_init(&sd->mem_event_rwlock);
+ rte_mem_event_callback_register("MLX5_MEM_EVENT_CB",
+ mlx5_mr_mem_event_cb, NULL);
+ sd->init_done = true;
+ }
+ rte_spinlock_unlock(&sd->lock);
return 0;
}
--
2.25.1
More information about the stable
mailing list