linux-rdma.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
@ 2019-11-05  3:48 Yixian Liu
  2019-11-05  4:09 ` Parav Pandit
  0 siblings, 1 reply; 7+ messages in thread
From: Yixian Liu @ 2019-11-05  3:48 UTC (permalink / raw)
  To: dledford, jgg; +Cc: parav, leon, linux-rdma, linuxarm

This warning can be triggered easily when adding a large number of
VLANs while the capacity of GID table is small.

Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
---
 drivers/infiniband/core/cache.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c
index 00fb3ea..2990075 100644
--- a/drivers/infiniband/core/cache.c
+++ b/drivers/infiniband/core/cache.c
@@ -579,8 +579,8 @@ static int __ib_cache_gid_add(struct ib_device *ib_dev, u8 port,
 out_unlock:
 	mutex_unlock(&table->lock);
 	if (ret)
-		pr_warn("%s: unable to add gid %pI6 error=%d\n",
-			__func__, gid->raw, ret);
+		pr_warn_ratelimited("%s: unable to add gid %pI6 error=%d\n",
+				    __func__, gid->raw, ret);
 	return ret;
 }
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05  3:48 [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited Yixian Liu
@ 2019-11-05  4:09 ` Parav Pandit
  2019-11-05  7:55   ` Liuyixian (Eason)
  2019-11-05 14:41   ` Leon Romanovsky
  0 siblings, 2 replies; 7+ messages in thread
From: Parav Pandit @ 2019-11-05  4:09 UTC (permalink / raw)
  To: Yixian Liu, dledford, jgg; +Cc: leon, linux-rdma, linuxarm

Hi Yixian Liu,

> -----Original Message-----
> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> owner@vger.kernel.org> On Behalf Of Yixian Liu
> Sent: Monday, November 4, 2019 9:48 PM
> To: dledford@redhat.com; jgg@ziepe.ca
> Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
> rdma@vger.kernel.org; linuxarm@huawei.com
> Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
> 
> This warning can be triggered easily when adding a large number of VLANs
> while the capacity of GID table is small.
> 
> Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
> Signed-off-by: Yixian Liu <liuyixian@huawei.com>
> ---
>  drivers/infiniband/core/cache.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
Thanks for the patch. However, vlan netdevice addition is an administrative operation allowed to process which has CAP_NET_ADMIN privilege.
So large number of VLAN addition by a user for a RoCE device whose GID capacity is small is constrained operation.
Therefore, we shouldn't be rate limiting it.
By rate limiting we miss the information about any bugs in GID cache management.
At best we can convert it to dev_dbg() so that we still get the necessary debug information when needed.
I wanted to convert them trace functions which will allow us to more debug level prints such as netdev name, vlan etc.
I think I remember comment from Leon too while working on it, but it was long haul that time.

Its base infrastructure is just got ready with Chuck Lever's patch.
So around 5.5, I should convert to trace calls.

> diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c
> index 00fb3ea..2990075 100644
> --- a/drivers/infiniband/core/cache.c
> +++ b/drivers/infiniband/core/cache.c
> @@ -579,8 +579,8 @@ static int __ib_cache_gid_add(struct ib_device
> *ib_dev, u8 port,
>  out_unlock:
>  	mutex_unlock(&table->lock);
>  	if (ret)
> -		pr_warn("%s: unable to add gid %pI6 error=%d\n",
> -			__func__, gid->raw, ret);
> +		pr_warn_ratelimited("%s: unable to add gid %pI6
> error=%d\n",
> +				    __func__, gid->raw, ret);
>  	return ret;
>  }
> 
> --
> 2.7.4


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05  4:09 ` Parav Pandit
@ 2019-11-05  7:55   ` Liuyixian (Eason)
  2019-11-05 15:02     ` Parav Pandit
  2019-11-05 14:41   ` Leon Romanovsky
  1 sibling, 1 reply; 7+ messages in thread
From: Liuyixian (Eason) @ 2019-11-05  7:55 UTC (permalink / raw)
  To: Parav Pandit, dledford, jgg; +Cc: leon, linux-rdma, linuxarm



On 2019/11/5 12:09, Parav Pandit wrote:
> Hi Yixian Liu,
> 
>> -----Original Message-----
>> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
>> owner@vger.kernel.org> On Behalf Of Yixian Liu
>> Sent: Monday, November 4, 2019 9:48 PM
>> To: dledford@redhat.com; jgg@ziepe.ca
>> Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
>> rdma@vger.kernel.org; linuxarm@huawei.com
>> Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
>>
>> This warning can be triggered easily when adding a large number of VLANs
>> while the capacity of GID table is small.
>>
>> Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
>> Signed-off-by: Yixian Liu <liuyixian@huawei.com>
>> ---
>>  drivers/infiniband/core/cache.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
> Thanks for the patch. However, vlan netdevice addition is an administrative operation allowed to process which has CAP_NET_ADMIN privilege.
> So large number of VLAN addition by a user for a RoCE device whose GID capacity is small is constrained operation.

How can we constrain this operation from an administrator?

> Therefore, we shouldn't be rate limiting it.
> By rate limiting we miss the information about any bugs in GID cache management.

pr_warn_ratelimited only prevent from printing **the same messages** frequently, why information will be lost?

> At best we can convert it to dev_dbg() so that we still get the necessary debug information when needed.
> I wanted to convert them trace functions which will allow us to more debug level prints such as netdev name, vlan etc.
> I think I remember comment from Leon too while working on it, but it was long haul that time.
> 
> Its base infrastructure is just got ready with Chuck Lever's patch.
> So around 5.5, I should convert to trace calls.

Okay, whatever, the situation described in commit message may be occurred, please consider it.

> 
>> diff --git a/drivers/infiniband/core/cache.c b/drivers/infiniband/core/cache.c
>> index 00fb3ea..2990075 100644
>> --- a/drivers/infiniband/core/cache.c
>> +++ b/drivers/infiniband/core/cache.c
>> @@ -579,8 +579,8 @@ static int __ib_cache_gid_add(struct ib_device
>> *ib_dev, u8 port,
>>  out_unlock:
>>  	mutex_unlock(&table->lock);
>>  	if (ret)
>> -		pr_warn("%s: unable to add gid %pI6 error=%d\n",
>> -			__func__, gid->raw, ret);
>> +		pr_warn_ratelimited("%s: unable to add gid %pI6
>> error=%d\n",
>> +				    __func__, gid->raw, ret);
>>  	return ret;
>>  }
>>
>> --
>> 2.7.4
> 
> 
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05  4:09 ` Parav Pandit
  2019-11-05  7:55   ` Liuyixian (Eason)
@ 2019-11-05 14:41   ` Leon Romanovsky
  2019-11-06  2:15     ` Liuyixian (Eason)
  1 sibling, 1 reply; 7+ messages in thread
From: Leon Romanovsky @ 2019-11-05 14:41 UTC (permalink / raw)
  To: Parav Pandit; +Cc: Yixian Liu, dledford, jgg, linux-rdma, linuxarm

On Tue, Nov 05, 2019 at 04:09:12AM +0000, Parav Pandit wrote:
> Hi Yixian Liu,
>
> > -----Original Message-----
> > From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> > owner@vger.kernel.org> On Behalf Of Yixian Liu
> > Sent: Monday, November 4, 2019 9:48 PM
> > To: dledford@redhat.com; jgg@ziepe.ca
> > Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
> > rdma@vger.kernel.org; linuxarm@huawei.com
> > Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
> >
> > This warning can be triggered easily when adding a large number of VLANs
> > while the capacity of GID table is small.
> >
> > Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
> > Signed-off-by: Yixian Liu <liuyixian@huawei.com>
> > ---
> >  drivers/infiniband/core/cache.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> Thanks for the patch. However, vlan netdevice addition is an administrative operation allowed to process which has CAP_NET_ADMIN privilege.
> So large number of VLAN addition by a user for a RoCE device whose GID capacity is small is constrained operation.
> Therefore, we shouldn't be rate limiting it.
> By rate limiting we miss the information about any bugs in GID cache management.
> At best we can convert it to dev_dbg() so that we still get the necessary debug information when needed.
> I wanted to convert them trace functions which will allow us to more debug level prints such as netdev name, vlan etc.
> I think I remember comment from Leon too while working on it, but it was long haul that time.

I wanted to work on it, but it never happened.

Thanks

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05  7:55   ` Liuyixian (Eason)
@ 2019-11-05 15:02     ` Parav Pandit
  2019-11-06  2:15       ` Liuyixian (Eason)
  0 siblings, 1 reply; 7+ messages in thread
From: Parav Pandit @ 2019-11-05 15:02 UTC (permalink / raw)
  To: Liuyixian (Eason), dledford, jgg; +Cc: leon, linux-rdma, linuxarm



> -----Original Message-----
> From: Liuyixian (Eason) <liuyixian@huawei.com>
> Sent: Tuesday, November 5, 2019 1:55 AM
> To: Parav Pandit <parav@mellanox.com>; dledford@redhat.com;
> jgg@ziepe.ca
> Cc: leon@kernel.org; linux-rdma@vger.kernel.org; linuxarm@huawei.com
> Subject: Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
> 
> 
> 
> On 2019/11/5 12:09, Parav Pandit wrote:
> > Hi Yixian Liu,
> >
> >> -----Original Message-----
> >> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
> >> owner@vger.kernel.org> On Behalf Of Yixian Liu
> >> Sent: Monday, November 4, 2019 9:48 PM
> >> To: dledford@redhat.com; jgg@ziepe.ca
> >> Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
> >> rdma@vger.kernel.org; linuxarm@huawei.com
> >> Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
> >>
> >> This warning can be triggered easily when adding a large number of
> >> VLANs while the capacity of GID table is small.
> >>
> >> Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
> >> Signed-off-by: Yixian Liu <liuyixian@huawei.com>
> >> ---
> >>  drivers/infiniband/core/cache.c | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> > Thanks for the patch. However, vlan netdevice addition is an
> administrative operation allowed to process which has CAP_NET_ADMIN
> privilege.
> > So large number of VLAN addition by a user for a RoCE device whose GID
> capacity is small is constrained operation.
> 
> How can we constrain this operation from an administrator?
> 
Administrator knows the GID table size of the RoCE device he is managing.

> > Therefore, we shouldn't be rate limiting it.
> > By rate limiting we miss the information about any bugs in GID cache
> management.
> 
> pr_warn_ratelimited only prevent from printing **the same messages**
> frequently, why information will be lost?
>
Same message that may have different GID value and return code.
So information is lost on why GID entry was not able to add (error by vendor driver, no space in table, something else etc).

 
> > At best we can convert it to dev_dbg() so that we still get the necessary
> debug information when needed.
> > I wanted to convert them trace functions which will allow us to more
> debug level prints such as netdev name, vlan etc.
> > I think I remember comment from Leon too while working on it, but it was
> long haul that time.
> >
> > Its base infrastructure is just got ready with Chuck Lever's patch.
> > So around 5.5, I should convert to trace calls.
> 
> Okay, whatever, the situation described in commit message may be
> occurred, please consider it.
>
Yes. sure. Added to my todo list.
 
> >
> >> diff --git a/drivers/infiniband/core/cache.c
> >> b/drivers/infiniband/core/cache.c index 00fb3ea..2990075 100644
> >> --- a/drivers/infiniband/core/cache.c
> >> +++ b/drivers/infiniband/core/cache.c
> >> @@ -579,8 +579,8 @@ static int __ib_cache_gid_add(struct ib_device
> >> *ib_dev, u8 port,
> >>  out_unlock:
> >>  	mutex_unlock(&table->lock);
> >>  	if (ret)
> >> -		pr_warn("%s: unable to add gid %pI6 error=%d\n",
> >> -			__func__, gid->raw, ret);
> >> +		pr_warn_ratelimited("%s: unable to add gid %pI6
> >> error=%d\n",
> >> +				    __func__, gid->raw, ret);
> >>  	return ret;
> >>  }
> >>
> >> --
> >> 2.7.4
> >
> >
> >


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05 14:41   ` Leon Romanovsky
@ 2019-11-06  2:15     ` Liuyixian (Eason)
  0 siblings, 0 replies; 7+ messages in thread
From: Liuyixian (Eason) @ 2019-11-06  2:15 UTC (permalink / raw)
  To: Leon Romanovsky, Parav Pandit; +Cc: dledford, jgg, linux-rdma, linuxarm



On 2019/11/5 22:41, Leon Romanovsky wrote:
> On Tue, Nov 05, 2019 at 04:09:12AM +0000, Parav Pandit wrote:
>> Hi Yixian Liu,
>>
>>> -----Original Message-----
>>> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
>>> owner@vger.kernel.org> On Behalf Of Yixian Liu
>>> Sent: Monday, November 4, 2019 9:48 PM
>>> To: dledford@redhat.com; jgg@ziepe.ca
>>> Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
>>> rdma@vger.kernel.org; linuxarm@huawei.com
>>> Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
>>>
>>> This warning can be triggered easily when adding a large number of VLANs
>>> while the capacity of GID table is small.
>>>
>>> Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
>>> Signed-off-by: Yixian Liu <liuyixian@huawei.com>
>>> ---
>>>  drivers/infiniband/core/cache.c | 4 ++--
>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>> Thanks for the patch. However, vlan netdevice addition is an administrative operation allowed to process which has CAP_NET_ADMIN privilege.
>> So large number of VLAN addition by a user for a RoCE device whose GID capacity is small is constrained operation.
>> Therefore, we shouldn't be rate limiting it.
>> By rate limiting we miss the information about any bugs in GID cache management.
>> At best we can convert it to dev_dbg() so that we still get the necessary debug information when needed.
>> I wanted to convert them trace functions which will allow us to more debug level prints such as netdev name, vlan etc.
>> I think I remember comment from Leon too while working on it, but it was long haul that time.
> 
> I wanted to work on it, but it never happened.

I see, thanks.

> 
> Thanks
> 
> .
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
  2019-11-05 15:02     ` Parav Pandit
@ 2019-11-06  2:15       ` Liuyixian (Eason)
  0 siblings, 0 replies; 7+ messages in thread
From: Liuyixian (Eason) @ 2019-11-06  2:15 UTC (permalink / raw)
  To: Parav Pandit, dledford, jgg; +Cc: leon, linux-rdma, linuxarm



On 2019/11/5 23:02, Parav Pandit wrote:
> 
> 
>> -----Original Message-----
>> From: Liuyixian (Eason) <liuyixian@huawei.com>
>> Sent: Tuesday, November 5, 2019 1:55 AM
>> To: Parav Pandit <parav@mellanox.com>; dledford@redhat.com;
>> jgg@ziepe.ca
>> Cc: leon@kernel.org; linux-rdma@vger.kernel.org; linuxarm@huawei.com
>> Subject: Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
>>
>>
>>
>> On 2019/11/5 12:09, Parav Pandit wrote:
>>> Hi Yixian Liu,
>>>
>>>> -----Original Message-----
>>>> From: linux-rdma-owner@vger.kernel.org <linux-rdma-
>>>> owner@vger.kernel.org> On Behalf Of Yixian Liu
>>>> Sent: Monday, November 4, 2019 9:48 PM
>>>> To: dledford@redhat.com; jgg@ziepe.ca
>>>> Cc: Parav Pandit <parav@mellanox.com>; leon@kernel.org; linux-
>>>> rdma@vger.kernel.org; linuxarm@huawei.com
>>>> Subject: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited
>>>>
>>>> This warning can be triggered easily when adding a large number of
>>>> VLANs while the capacity of GID table is small.
>>>>
>>>> Fixes: 598ff6bae689 ("IB/core: Refactor GID modify code for RoCE")
>>>> Signed-off-by: Yixian Liu <liuyixian@huawei.com>
>>>> ---
>>>>  drivers/infiniband/core/cache.c | 4 ++--
>>>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>> Thanks for the patch. However, vlan netdevice addition is an
>> administrative operation allowed to process which has CAP_NET_ADMIN
>> privilege.
>>> So large number of VLAN addition by a user for a RoCE device whose GID
>> capacity is small is constrained operation.
>>
>> How can we constrain this operation from an administrator?
>>
> Administrator knows the GID table size of the RoCE device he is managing.
> 
>>> Therefore, we shouldn't be rate limiting it.
>>> By rate limiting we miss the information about any bugs in GID cache
>> management.
>>
>> pr_warn_ratelimited only prevent from printing **the same messages**
>> frequently, why information will be lost?
>>
> Same message that may have different GID value and return code.
> So information is lost on why GID entry was not able to add (error by vendor driver, no space in table, something else etc).
> 
>  
>>> At best we can convert it to dev_dbg() so that we still get the necessary
>> debug information when needed.
>>> I wanted to convert them trace functions which will allow us to more
>> debug level prints such as netdev name, vlan etc.
>>> I think I remember comment from Leon too while working on it, but it was
>> long haul that time.
>>>
>>> Its base infrastructure is just got ready with Chuck Lever's patch.
>>> So around 5.5, I should convert to trace calls.
>>
>> Okay, whatever, the situation described in commit message may be
>> occurred, please consider it.
>>
> Yes. sure. Added to my todo list.

Thanks.

>  
>>>
>>>> diff --git a/drivers/infiniband/core/cache.c
>>>> b/drivers/infiniband/core/cache.c index 00fb3ea..2990075 100644
>>>> --- a/drivers/infiniband/core/cache.c
>>>> +++ b/drivers/infiniband/core/cache.c
>>>> @@ -579,8 +579,8 @@ static int __ib_cache_gid_add(struct ib_device
>>>> *ib_dev, u8 port,
>>>>  out_unlock:
>>>>  	mutex_unlock(&table->lock);
>>>>  	if (ret)
>>>> -		pr_warn("%s: unable to add gid %pI6 error=%d\n",
>>>> -			__func__, gid->raw, ret);
>>>> +		pr_warn_ratelimited("%s: unable to add gid %pI6
>>>> error=%d\n",
>>>> +				    __func__, gid->raw, ret);
>>>>  	return ret;
>>>>  }
>>>>
>>>> --
>>>> 2.7.4
>>>
>>>
>>>
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-11-06  2:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-05  3:48 [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited Yixian Liu
2019-11-05  4:09 ` Parav Pandit
2019-11-05  7:55   ` Liuyixian (Eason)
2019-11-05 15:02     ` Parav Pandit
2019-11-06  2:15       ` Liuyixian (Eason)
2019-11-05 14:41   ` Leon Romanovsky
2019-11-06  2:15     ` Liuyixian (Eason)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).