Message ID | 20240821114100.2261167-7-dtatulea@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | vdpa/mlx5: Optimze MKEY operations | expand |
On Wed, Aug 21, 2024 at 1:42 PM Dragos Tatulea <dtatulea@nvidia.com> wrote: > > Now that the mr resources have their own namespace in the > struct, give the lock a clearer name. > > Signed-off-by: Dragos Tatulea <dtatulea@nvidia.com> > Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com> Acked-by: Eugenio Pérez <eperezma@redhat.com> > --- > drivers/vdpa/mlx5/core/mlx5_vdpa.h | 2 +- > drivers/vdpa/mlx5/core/mr.c | 20 ++++++++++---------- > drivers/vdpa/mlx5/core/resources.c | 6 +++--- > drivers/vdpa/mlx5/net/mlx5_vnet.c | 4 ++-- > 4 files changed, 16 insertions(+), 16 deletions(-) > > diff --git a/drivers/vdpa/mlx5/core/mlx5_vdpa.h b/drivers/vdpa/mlx5/core/mlx5_vdpa.h > index 5ae6deea2a8a..89b564cecddf 100644 > --- a/drivers/vdpa/mlx5/core/mlx5_vdpa.h > +++ b/drivers/vdpa/mlx5/core/mlx5_vdpa.h > @@ -87,7 +87,7 @@ struct mlx5_vdpa_mr_resources { > struct mlx5_vdpa_mr *mr[MLX5_VDPA_NUM_AS]; > unsigned int group2asid[MLX5_VDPA_NUMVQ_GROUPS]; > struct list_head mr_list_head; > - struct mutex mr_mtx; > + struct mutex lock; > }; > > struct mlx5_vdpa_dev { > diff --git a/drivers/vdpa/mlx5/core/mr.c b/drivers/vdpa/mlx5/core/mr.c > index 2c8660e5c0de..f20f2a8a701d 100644 > --- a/drivers/vdpa/mlx5/core/mr.c > +++ b/drivers/vdpa/mlx5/core/mr.c > @@ -666,9 +666,9 @@ static void _mlx5_vdpa_put_mr(struct mlx5_vdpa_dev *mvdev, > void mlx5_vdpa_put_mr(struct mlx5_vdpa_dev *mvdev, > struct mlx5_vdpa_mr *mr) > { > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > _mlx5_vdpa_put_mr(mvdev, mr); > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > } > > static void _mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, > @@ -683,9 +683,9 @@ static void _mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, > void mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, > struct mlx5_vdpa_mr *mr) > { > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > _mlx5_vdpa_get_mr(mvdev, mr); > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > } > > void mlx5_vdpa_update_mr(struct mlx5_vdpa_dev *mvdev, > @@ -694,19 +694,19 @@ void mlx5_vdpa_update_mr(struct mlx5_vdpa_dev *mvdev, > { > struct mlx5_vdpa_mr *old_mr = mvdev->mres.mr[asid]; > > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > > _mlx5_vdpa_put_mr(mvdev, old_mr); > mvdev->mres.mr[asid] = new_mr; > > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > } > > static void mlx5_vdpa_show_mr_leaks(struct mlx5_vdpa_dev *mvdev) > { > struct mlx5_vdpa_mr *mr; > > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > > list_for_each_entry(mr, &mvdev->mres.mr_list_head, mr_list) { > > @@ -715,7 +715,7 @@ static void mlx5_vdpa_show_mr_leaks(struct mlx5_vdpa_dev *mvdev) > mr, mr->mkey, refcount_read(&mr->refcount)); > } > > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > > } > > @@ -779,9 +779,9 @@ struct mlx5_vdpa_mr *mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, > if (!mr) > return ERR_PTR(-ENOMEM); > > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > err = _mlx5_vdpa_create_mr(mvdev, mr, iotlb); > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > > if (err) > goto out_err; > diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c > index 3e3b3049cb08..fe2ca3458f6c 100644 > --- a/drivers/vdpa/mlx5/core/resources.c > +++ b/drivers/vdpa/mlx5/core/resources.c > @@ -256,7 +256,7 @@ int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) > mlx5_vdpa_warn(mvdev, "resources already allocated\n"); > return -EINVAL; > } > - mutex_init(&mvdev->mres.mr_mtx); > + mutex_init(&mvdev->mres.lock); > res->uar = mlx5_get_uars_page(mdev); > if (IS_ERR(res->uar)) { > err = PTR_ERR(res->uar); > @@ -301,7 +301,7 @@ int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) > err_uctx: > mlx5_put_uars_page(mdev, res->uar); > err_uars: > - mutex_destroy(&mvdev->mres.mr_mtx); > + mutex_destroy(&mvdev->mres.lock); > return err; > } > > @@ -318,7 +318,7 @@ void mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev) > dealloc_pd(mvdev, res->pdn, res->uid); > destroy_uctx(mvdev, res->uid); > mlx5_put_uars_page(mvdev->mdev, res->uar); > - mutex_destroy(&mvdev->mres.mr_mtx); > + mutex_destroy(&mvdev->mres.lock); > res->valid = false; > } > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c > index 3e55a7f1afcd..8a51c492a62a 100644 > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c > @@ -3639,10 +3639,10 @@ static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group, > > mvdev->mres.group2asid[group] = asid; > > - mutex_lock(&mvdev->mres.mr_mtx); > + mutex_lock(&mvdev->mres.lock); > if (group == MLX5_VDPA_CVQ_GROUP && mvdev->mres.mr[asid]) > err = mlx5_vdpa_update_cvq_iotlb(mvdev, mvdev->mres.mr[asid]->iotlb, asid); > - mutex_unlock(&mvdev->mres.mr_mtx); > + mutex_unlock(&mvdev->mres.lock); > > return err; > } > -- > 2.45.1 >
diff --git a/drivers/vdpa/mlx5/core/mlx5_vdpa.h b/drivers/vdpa/mlx5/core/mlx5_vdpa.h index 5ae6deea2a8a..89b564cecddf 100644 --- a/drivers/vdpa/mlx5/core/mlx5_vdpa.h +++ b/drivers/vdpa/mlx5/core/mlx5_vdpa.h @@ -87,7 +87,7 @@ struct mlx5_vdpa_mr_resources { struct mlx5_vdpa_mr *mr[MLX5_VDPA_NUM_AS]; unsigned int group2asid[MLX5_VDPA_NUMVQ_GROUPS]; struct list_head mr_list_head; - struct mutex mr_mtx; + struct mutex lock; }; struct mlx5_vdpa_dev { diff --git a/drivers/vdpa/mlx5/core/mr.c b/drivers/vdpa/mlx5/core/mr.c index 2c8660e5c0de..f20f2a8a701d 100644 --- a/drivers/vdpa/mlx5/core/mr.c +++ b/drivers/vdpa/mlx5/core/mr.c @@ -666,9 +666,9 @@ static void _mlx5_vdpa_put_mr(struct mlx5_vdpa_dev *mvdev, void mlx5_vdpa_put_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mr) { - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); _mlx5_vdpa_put_mr(mvdev, mr); - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); } static void _mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, @@ -683,9 +683,9 @@ static void _mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, void mlx5_vdpa_get_mr(struct mlx5_vdpa_dev *mvdev, struct mlx5_vdpa_mr *mr) { - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); _mlx5_vdpa_get_mr(mvdev, mr); - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); } void mlx5_vdpa_update_mr(struct mlx5_vdpa_dev *mvdev, @@ -694,19 +694,19 @@ void mlx5_vdpa_update_mr(struct mlx5_vdpa_dev *mvdev, { struct mlx5_vdpa_mr *old_mr = mvdev->mres.mr[asid]; - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); _mlx5_vdpa_put_mr(mvdev, old_mr); mvdev->mres.mr[asid] = new_mr; - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); } static void mlx5_vdpa_show_mr_leaks(struct mlx5_vdpa_dev *mvdev) { struct mlx5_vdpa_mr *mr; - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); list_for_each_entry(mr, &mvdev->mres.mr_list_head, mr_list) { @@ -715,7 +715,7 @@ static void mlx5_vdpa_show_mr_leaks(struct mlx5_vdpa_dev *mvdev) mr, mr->mkey, refcount_read(&mr->refcount)); } - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); } @@ -779,9 +779,9 @@ struct mlx5_vdpa_mr *mlx5_vdpa_create_mr(struct mlx5_vdpa_dev *mvdev, if (!mr) return ERR_PTR(-ENOMEM); - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); err = _mlx5_vdpa_create_mr(mvdev, mr, iotlb); - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); if (err) goto out_err; diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c index 3e3b3049cb08..fe2ca3458f6c 100644 --- a/drivers/vdpa/mlx5/core/resources.c +++ b/drivers/vdpa/mlx5/core/resources.c @@ -256,7 +256,7 @@ int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) mlx5_vdpa_warn(mvdev, "resources already allocated\n"); return -EINVAL; } - mutex_init(&mvdev->mres.mr_mtx); + mutex_init(&mvdev->mres.lock); res->uar = mlx5_get_uars_page(mdev); if (IS_ERR(res->uar)) { err = PTR_ERR(res->uar); @@ -301,7 +301,7 @@ int mlx5_vdpa_alloc_resources(struct mlx5_vdpa_dev *mvdev) err_uctx: mlx5_put_uars_page(mdev, res->uar); err_uars: - mutex_destroy(&mvdev->mres.mr_mtx); + mutex_destroy(&mvdev->mres.lock); return err; } @@ -318,7 +318,7 @@ void mlx5_vdpa_free_resources(struct mlx5_vdpa_dev *mvdev) dealloc_pd(mvdev, res->pdn, res->uid); destroy_uctx(mvdev, res->uid); mlx5_put_uars_page(mvdev->mdev, res->uar); - mutex_destroy(&mvdev->mres.mr_mtx); + mutex_destroy(&mvdev->mres.lock); res->valid = false; } diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c index 3e55a7f1afcd..8a51c492a62a 100644 --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c @@ -3639,10 +3639,10 @@ static int mlx5_set_group_asid(struct vdpa_device *vdev, u32 group, mvdev->mres.group2asid[group] = asid; - mutex_lock(&mvdev->mres.mr_mtx); + mutex_lock(&mvdev->mres.lock); if (group == MLX5_VDPA_CVQ_GROUP && mvdev->mres.mr[asid]) err = mlx5_vdpa_update_cvq_iotlb(mvdev, mvdev->mres.mr[asid]->iotlb, asid); - mutex_unlock(&mvdev->mres.mr_mtx); + mutex_unlock(&mvdev->mres.lock); return err; }