[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220523152119.406443-1-liuyacan@corp.netease.com>
Date: Mon, 23 May 2022 23:21:19 +0800
From: liuyacan@...p.netease.com
To: kgraul@...ux.ibm.com
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
liuyacan@...p.netease.com, netdev@...r.kernel.org,
pabeni@...hat.com, ubraun@...ux.ibm.com
Subject: Re: [PATCH v2 net] net/smc: postpone sk_refcnt increment in connect()
> >> This is a rather unusual problem that can come up when fallback=true BEFORE smc_connect()
> >> is called. But nevertheless, it is a problem.
> >>
> >> Right now I am not sure if it is okay when we NOT hold a ref to smc->sk during all fallback
> >> processing. This change also conflicts with a patch that is already on net-next (3aba1030).
> >
> > Do you mean put the ref to smc->sk during all fallback processing unconditionally and remove
> > the fallback branch sock_put() in __smc_release()?
>
> What I had in mind was to eventually call sock_put() in __smc_release() even if sk->sk_state == SMC_INIT
> (currently the extra check in the if() for sk->sk_state != SMC_INIT prevents the sock_put()), but only
> when it is sure that we actually reached the sock_hold() in smc_connect() before.
>
> But maybe we find out that the sock_hold() is not needed for fallback sockets, I don't know...
I do think the sock_hold()/sock_put() for smc->sk is a bit complicated, Emm, I'm not sure if it
can be simplified..
In fact, I'm sure there must be another ref count issue in my environment,but I haven't caught it yet.
Powered by blists - more mailing lists