git: 1f1f6b4cb5ee - stable/11 - MFC r353632: Replace rdma_is_upper_dev_rcu() with rdma_vlan_dev_real_dev() in ibcore. This reduces the number of references to VLAN_TRUNKDEV() in ibcore. Currently only VLAN is supported as a child interface in FreeBSD. Remove superfluous RCU locking.

Hans Petter Selasky hselasky at FreeBSD.org
Fri Jan 22 12:48:50 UTC 2021


The branch stable/11 has been updated by hselasky:

URL: https://cgit.FreeBSD.org/src/commit/?id=1f1f6b4cb5eebe79c8dc5761a865e9a65d5dd034

commit 1f1f6b4cb5eebe79c8dc5761a865e9a65d5dd034
Author:     Hans Petter Selasky <hselasky at FreeBSD.org>
AuthorDate: 2019-10-16 08:55:29 +0000
Commit:     Hans Petter Selasky <hselasky at FreeBSD.org>
CommitDate: 2021-01-22 12:36:28 +0000

    MFC r353632:
    Replace rdma_is_upper_dev_rcu() with rdma_vlan_dev_real_dev() in ibcore.
    This reduces the number of references to VLAN_TRUNKDEV() in ibcore.
    Currently only VLAN is supported as a child interface in FreeBSD.
    Remove superfluous RCU locking.
    
    Sponsored by:   Mellanox Technologies
---
 sys/ofed/drivers/infiniband/core/core_priv.h   | 10 ----------
 sys/ofed/drivers/infiniband/core/ib_sa_query.c |  4 +---
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/sys/ofed/drivers/infiniband/core/core_priv.h b/sys/ofed/drivers/infiniband/core/core_priv.h
index 97ddb9e73a2a..6385afe68f9a 100644
--- a/sys/ofed/drivers/infiniband/core/core_priv.h
+++ b/sys/ofed/drivers/infiniband/core/core_priv.h
@@ -126,16 +126,6 @@ int ib_cache_setup_one(struct ib_device *device);
 void ib_cache_cleanup_one(struct ib_device *device);
 void ib_cache_release_one(struct ib_device *device);
 
-static inline bool rdma_is_upper_dev_rcu(struct net_device *dev,
-					 struct net_device *upper)
-{
-
-	/* TODO: add support for LAGG */
-	upper = VLAN_TRUNKDEV(upper);
-
-	return (dev == upper);
-}
-
 int addr_init(void);
 void addr_cleanup(void);
 
diff --git a/sys/ofed/drivers/infiniband/core/ib_sa_query.c b/sys/ofed/drivers/infiniband/core/ib_sa_query.c
index 971cbba1833e..7b09b7a7e3f5 100644
--- a/sys/ofed/drivers/infiniband/core/ib_sa_query.c
+++ b/sys/ofed/drivers/infiniband/core/ib_sa_query.c
@@ -702,12 +702,10 @@ int ib_init_ah_from_path(struct ib_device *device, u8 port_num,
 			return -ENODEV;
 		}
 		ndev = ib_get_ndev_from_path(rec);
-		rcu_read_lock();
 		if ((ndev && ndev != resolved_dev) ||
 		    (resolved_dev != idev &&
-		     !rdma_is_upper_dev_rcu(idev, resolved_dev)))
+		     rdma_vlan_dev_real_dev(resolved_dev) != idev))
 			ret = -EHOSTUNREACH;
-		rcu_read_unlock();
 		dev_put(idev);
 		dev_put(resolved_dev);
 		if (ret) {


More information about the dev-commits-src-all mailing list