[2/2] vdpa/mlx5: Initialize CVQ iotlb spinlock

Message ID 20230206122016.1149373-1-elic@nvidia.com
State New
Headers
Series [1/2] vdpa/mlx5: Don't clear mr struct on destroy MR |

Commit Message

Eli Cohen Feb. 6, 2023, 12:20 p.m. UTC
  Initialize itolb spinlock.

Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
Signed-off-by: Eli Cohen <elic@nvidia.com>
---
 drivers/vdpa/mlx5/core/resources.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Michael S. Tsirkin Feb. 13, 2023, 12:19 p.m. UTC | #1
On Mon, Feb 06, 2023 at 02:20:16PM +0200, Eli Cohen wrote:
> Initialize itolb spinlock.
> 
> Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
> Signed-off-by: Eli Cohen <elic@nvidia.com>

threading was broken here but whatevs.

> ---
>  drivers/vdpa/mlx5/core/resources.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c
> index 45ad41287a31..d5a59c9035fb 100644
> --- a/drivers/vdpa/mlx5/core/resources.c
> +++ b/drivers/vdpa/mlx5/core/resources.c
> @@ -233,6 +233,7 @@ static int init_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
>  	if (!mvdev->cvq.iotlb)
>  		return -ENOMEM;
>  
> +	spin_lock_init(&mvdev->cvq.iommu_lock);
>  	vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock);
>  
>  	return 0;
> -- 
> 2.38.1
  
Eli Cohen Feb. 13, 2023, 12:24 p.m. UTC | #2
On 13/02/2023 14:19, Michael S. Tsirkin wrote:
> On Mon, Feb 06, 2023 at 02:20:16PM +0200, Eli Cohen wrote:
>> Initialize itolb spinlock.
>>
>> Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
>> Signed-off-by: Eli Cohen <elic@nvidia.com>
> threading was broken here but whatevs.
What exactly do you mean by "threading was broken". Is it because I sent 
two unrelated fixes together appearing as patch 1/2 and 2/2?
>
>> ---
>>   drivers/vdpa/mlx5/core/resources.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c
>> index 45ad41287a31..d5a59c9035fb 100644
>> --- a/drivers/vdpa/mlx5/core/resources.c
>> +++ b/drivers/vdpa/mlx5/core/resources.c
>> @@ -233,6 +233,7 @@ static int init_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
>>   	if (!mvdev->cvq.iotlb)
>>   		return -ENOMEM;
>>   
>> +	spin_lock_init(&mvdev->cvq.iommu_lock);
>>   	vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock);
>>   
>>   	return 0;
>> -- 
>> 2.38.1
  
Michael S. Tsirkin Feb. 13, 2023, 12:26 p.m. UTC | #3
On Mon, Feb 13, 2023 at 02:24:40PM +0200, Eli Cohen wrote:
> 
> On 13/02/2023 14:19, Michael S. Tsirkin wrote:
> > On Mon, Feb 06, 2023 at 02:20:16PM +0200, Eli Cohen wrote:
> > > Initialize itolb spinlock.
> > > 
> > > Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
> > > Signed-off-by: Eli Cohen <elic@nvidia.com>
> > threading was broken here but whatevs.
> What exactly do you mean by "threading was broken". Is it because I sent two
> unrelated fixes together appearing as patch 1/2 and 2/2?

exactly. if I see 2/2 I expect a thread so I can find 1/2
and preferably a cover letter explaining what unifies all
these patches.
If they are unrelated no need to number them.

> > 
> > > ---
> > >   drivers/vdpa/mlx5/core/resources.c | 1 +
> > >   1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c
> > > index 45ad41287a31..d5a59c9035fb 100644
> > > --- a/drivers/vdpa/mlx5/core/resources.c
> > > +++ b/drivers/vdpa/mlx5/core/resources.c
> > > @@ -233,6 +233,7 @@ static int init_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
> > >   	if (!mvdev->cvq.iotlb)
> > >   		return -ENOMEM;
> > > +	spin_lock_init(&mvdev->cvq.iommu_lock);
> > >   	vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock);
> > >   	return 0;
> > > -- 
> > > 2.38.1
  

Patch

diff --git a/drivers/vdpa/mlx5/core/resources.c b/drivers/vdpa/mlx5/core/resources.c
index 45ad41287a31..d5a59c9035fb 100644
--- a/drivers/vdpa/mlx5/core/resources.c
+++ b/drivers/vdpa/mlx5/core/resources.c
@@ -233,6 +233,7 @@  static int init_ctrl_vq(struct mlx5_vdpa_dev *mvdev)
 	if (!mvdev->cvq.iotlb)
 		return -ENOMEM;
 
+	spin_lock_init(&mvdev->cvq.iommu_lock);
 	vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock);
 
 	return 0;