On Tue, Sep 06, 2022 at 03:04:50PM +0800, Guoqing Jiang wrote: > Hi Leon, > > On 9/5/22 8:28 PM, Leon Romanovsky wrote: > > On Fri, Sep 02, 2022 at 06:19:19PM +0800, Guoqing Jiang wrote: > > > Hi, > > > > > > Pls review the three patches. > > > > > > Thanks, > > > Guoqing > > > > > > Guoqing Jiang (3): > > > RDMA/rtrs: Update comments for MAX_SESS_QUEUE_DEPTH > > > RDMA/rtrs-clt: Break the loop once one path is connected > > > RDMA/rtrs-clt: Kill xchg_paths > > > > > > drivers/infiniband/ulp/rtrs/rtrs-clt.c | 18 +++++------------- > > > drivers/infiniband/ulp/rtrs/rtrs-pri.h | 7 +++---- > > > 2 files changed, 8 insertions(+), 17 deletions(-) > > The third patch still generates warnings. > > Sorry, I didn't run sparse check, 😅. > > > ➜ kernel git:(wip/leon-for-next) mkt ci > > ^[[A^[[A^[[Ad9b137e23d31 (HEAD -> build) RDMA/rtrs-clt: Kill xchg_paths > > WARNING: line length of 81 exceeds 80 columns > > #43: FILE: drivers/infiniband/ulp/rtrs/rtrs-clt.c:2297: > > + if (try_cmpxchg((typeof(ppcpu_path))ppcpu_path, &clt_path, next)) > > > > drivers/infiniband/ulp/rtrs/rtrs-clt.c:2297:21: warning: incorrect type in initializer (different address spaces) > > drivers/infiniband/ulp/rtrs/rtrs-clt.c:2297:21: expected struct rtrs_clt_path [noderef] __rcu *__new > > drivers/infiniband/ulp/rtrs/rtrs-clt.c:2297:21: got struct rtrs_clt_path *[assigned] next > > Before send new version, could you help to check whether the incremental > change works or not? Otherwise let's drop the third one. Thanks, it worked. > > diff --git a/drivers/infiniband/ulp/rtrs/rtrs-clt.c > b/drivers/infiniband/ulp/rtrs/rtrs-clt.c > index 0661a4e69fc9..bc3e1722e00d 100644 > --- a/drivers/infiniband/ulp/rtrs/rtrs-clt.c > +++ b/drivers/infiniband/ulp/rtrs/rtrs-clt.c > @@ -2294,7 +2294,8 @@ static void rtrs_clt_remove_path_from_arr(struct > rtrs_clt_path *clt_path) > * We race with IO code path, which also changes pointer, > * thus we have to be careful not to overwrite it. > */ > - if (try_cmpxchg((typeof(ppcpu_path))ppcpu_path, clt_path, > next)) > + if (try_cmpxchg((struct rtrs_clt_path **)ppcpu_path, > + clt_path, next)) > /* > * @ppcpu_path was successfully replaced with @next, > * that means that someone could also pick up the > > Thanks, > Guoqing