Re: [PATCH rdma-next] RDMA/core: Use pr_warn_ratelimited

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/11/5 23:02, Parav Pandit wrote:
> 
> 
>> -----Original Message-----
>> From: Liuyixian (Eason) <liuyixian@xxxxxxxxxx>
>> Sent: Tuesday, November 5, 2019 1:55 AM
>> To: Parav Pandit <parav@xxxxxxxxxxxx>; dledford@xxxxxxxxxx;
>> jgg@xxxxxxxx
>> Cc: leon@xxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; linuxarm@xxxxxxxxxx
>> 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@xxxxxxxxxxxxxxx <linux-rdma-
>>>> owner@xxxxxxxxxxxxxxx> On Behalf Of Yixian Liu
>>>> Sent: Monday, November 4, 2019 9:48 PM
>>>> To: dledford@xxxxxxxxxx; jgg@xxxxxxxx
>>>> Cc: Parav Pandit <parav@xxxxxxxxxxxx>; leon@xxxxxxxxxx; linux-
>>>> rdma@xxxxxxxxxxxxxxx; linuxarm@xxxxxxxxxx
>>>> 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@xxxxxxxxxx>
>>>> ---
>>>>  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
>>>
>>>
>>>
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux