Re: [PATCH for-next v3 2/2] RDMA/rxe: Call rxe_set_mtu after rxe_register_device

From: Zhijian Li (Fujitsu)
Date: Mon Sep 18 2023 - 20:59:02 EST




On 18/09/2023 20:37, Leon Romanovsky wrote:
> On Mon, Sep 18, 2023 at 10:05:43AM +0800, Li Zhijian wrote:
>> rxe_set_mtu() will call rxe_info_dev() to print message, and
>> rxe_info_dev() expects dev_name(rxe->ib_dev->dev) has been assigned.
>>
>> Previously since dev_name() is not set, when a new rxe link is being
>> added, 'null' will be used as the dev_name like:
>>
>> "(null): rxe_set_mtu: Set mtu to 1024"
>>
>> Move rxe_register_device() earlier to assign the correct dev_name
>> so that it can be read by rxe_set_mtu() later.
>
> I would expect removal of that print line instead of moving
> rxe_register_device().


I also struggled with this point. The last option is keep it as it is.
Once rxe is registered, this print will work fine.

Thanks
Zhijian


>
> Thanks
>
>>
>> And it's safe to do such change since mtu will not be used during the
>> rxe_register_device()
>>
>> After this change, the message becomes:
>> "rxe_eth0: rxe_set_mtu: Set mtu to 4096"
>>
>> Fixes: 9ac01f434a1e ("RDMA/rxe: Extend dbg log messages to err and info")
>> Reviewed-by: Daisuke Matsuda <matsuda-daisuke@xxxxxxxxxxx>
>> Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx>
>> Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxx>
>> ---
>> drivers/infiniband/sw/rxe/rxe.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/infiniband/sw/rxe/rxe.c b/drivers/infiniband/sw/rxe/rxe.c
>> index a086d588e159..8a43c0c4f8d8 100644
>> --- a/drivers/infiniband/sw/rxe/rxe.c
>> +++ b/drivers/infiniband/sw/rxe/rxe.c
>> @@ -169,10 +169,13 @@ void rxe_set_mtu(struct rxe_dev *rxe, unsigned int ndev_mtu)
>> */
>> int rxe_add(struct rxe_dev *rxe, unsigned int mtu, const char *ibdev_name)
>> {
>> + int ret;
>> +
>> rxe_init(rxe);
>> + ret = rxe_register_device(rxe, ibdev_name);
>> rxe_set_mtu(rxe, mtu);
>>
>> - return rxe_register_device(rxe, ibdev_name);
>> + return ret;
>> }
>>
>> static int rxe_newlink(const char *ibdev_name, struct net_device *ndev)
>> --
>> 2.29.2
>>