RDMA/rtrs-clt: Break the loop once one path is connected
authorGuoqing Jiang <guoqing.jiang@linux.dev>
Fri, 2 Sep 2022 10:19:21 +0000 (18:19 +0800)
committerLeon Romanovsky <leon@kernel.org>
Tue, 6 Sep 2022 11:05:22 +0000 (14:05 +0300)
No need to iterate all paths after find one connected path.

Signed-off-by: Guoqing Jiang <guoqing.jiang@linux.dev>
Link: https://lore.kernel.org/r/20220902101922.26273-3-guoqing.jiang@linux.dev
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/rtrs/rtrs-clt.c

index 5219bb10777affc2c2aec19afef19ad23964c4a2..c29eccdb4fd2de2024f263590b06f923894f2bac 100644 (file)
@@ -54,7 +54,10 @@ static inline bool rtrs_clt_is_connected(const struct rtrs_clt_sess *clt)
 
        rcu_read_lock();
        list_for_each_entry_rcu(clt_path, &clt->paths_list, s.entry)
-               connected |= READ_ONCE(clt_path->state) == RTRS_CLT_CONNECTED;
+               if (READ_ONCE(clt_path->state) == RTRS_CLT_CONNECTED) {
+                       connected = true;
+                       break;
+               }
        rcu_read_unlock();
 
        return connected;