]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
IB/rxe: Avoid NULL check when search is successful
authorParav Pandit <parav@mellanox.com>
Mon, 27 Aug 2018 05:44:16 +0000 (08:44 +0300)
committerDoug Ledford <dledford@redhat.com>
Thu, 30 Aug 2018 20:31:50 +0000 (16:31 -0400)
While performing lookup in a pool, if entry is found, take the
reference right there, instead of checking again outside the loop and
save one branch.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/sw/rxe/rxe_pool.c

index c8598b91e454cb8efdf189bd9b17d51a328b75bd..36b53fb94a49d0c59a0ac785c1c6f5ca956598ea 100644 (file)
@@ -450,13 +450,12 @@ void *rxe_pool_get_index(struct rxe_pool *pool, u32 index)
                        node = node->rb_left;
                else if (elem->index < index)
                        node = node->rb_right;
-               else
+               else {
+                       kref_get(&elem->ref_cnt);
                        break;
+               }
        }
 
-       if (node)
-               kref_get(&elem->ref_cnt);
-
 out:
        read_unlock_irqrestore(&pool->pool_lock, flags);
        return node ? elem : NULL;