Re: [RFC PATCH net] net/smc: Reset conn->lgr when link group registration fails
From: Wen Gu <guwen@linux.alibaba.com>
Date: 2022-01-04 02:13:36
Also in:
linux-s390, lkml
Thanks for your reply. On 2022/1/3 6:52 pm, Karsten Graul wrote:
On 30/12/2021 04:50, Wen Gu wrote:quoted
Thanks for your reply. On 2021/12/29 9:07 pm, Karsten Graul wrote:quoted
On 28/12/2021 08:49, Wen Gu wrote:quoted
SMC connections might fail to be registered to a link group due to things like unable to find a link to assign to in its creation. As a result, connection creation will return a failure and most resources related to the connection won't be applied or initialized, such as conn->abort_work or conn->lnk.What I do not understand is the extra step after the new label out_unreg: that may invoke smc_lgr_schedule_free_work(). You did not talk about that one. Is the idea to have a new link group get freed() when a connection could not be registered on it?Maybe we should try to free the link group when the registration fails, no matter it is new created or already existing? If so, is it better to do it in the same place like label 'out_unreg'?I agree with your idea. With the proposed change that conn->lgr gets not even set when the registration fails we would not need the "conn->lgr = NULL;" after label out_unreg?
Yes, conn->lgr now will be reset in smc_lgr_register_conn() if registration fails.
And as far as I understand the invocation of smc_lgr_schedule_free_work(lgr) is only needed after label "create", because when an existing link group was found and the registration failed then its free work would already be started when no more connections are assigned to the link group, right?
Thanks for your explanation. I also agree with only invoking smc_lgr_schedule_free_work(lgr) after label "create" now. I will improve it and send a v2 patch. Thanks, Wen Gu