net/mlx5: register memory event callback in Windows
In device initialization, the driver registers to free hugepages events. When hugepage 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@dpdk.org Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
This commit is contained in:
parent
a4975cd20d
commit
620be7f27b
@ -122,8 +122,21 @@ error:
|
||||
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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user