* Free MR resources. MR lock must not be held to avoid a deadlock. rte_free() * can raise memory free event and the callback function will spin on the lock. * * @param mr * Pointer to MR to free. */
| 488 | * Pointer to MR to free. |
| 489 | */ |
| 490 | void |
| 491 | mlx5_mr_free(struct mlx5_mr *mr, mlx5_dereg_mr_t dereg_mr_cb) |
| 492 | { |
| 493 | if (mr == NULL) |
| 494 | return; |
| 495 | DRV_LOG(DEBUG, "freeing MR(%p):", (void *)mr); |
| 496 | dereg_mr_cb(&mr->pmd_mr); |
| 497 | rte_bitmap_free(mr->ms_bmp); |
| 498 | mlx5_free(mr); |
| 499 | } |
| 500 | |
| 501 | void |
| 502 | mlx5_mr_rebuild_cache(struct mlx5_mr_share_cache *share_cache) |
no test coverage detected