Author: hselasky Date: Wed Oct 16 08:55:29 2019 New Revision: 353632 URL: https://svnweb.freebsd.org/changeset/base/353632
Log: 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 Modified: head/sys/ofed/drivers/infiniband/core/core_priv.h head/sys/ofed/drivers/infiniband/core/ib_sa_query.c Modified: head/sys/ofed/drivers/infiniband/core/core_priv.h ============================================================================== --- head/sys/ofed/drivers/infiniband/core/core_priv.h Wed Oct 16 08:40:58 2019 (r353631) +++ head/sys/ofed/drivers/infiniband/core/core_priv.h Wed Oct 16 08:55:29 2019 (r353632) @@ -128,16 +128,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); Modified: head/sys/ofed/drivers/infiniband/core/ib_sa_query.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/ib_sa_query.c Wed Oct 16 08:40:58 2019 (r353631) +++ head/sys/ofed/drivers/infiniband/core/ib_sa_query.c Wed Oct 16 08:55:29 2019 (r353632) @@ -702,12 +702,10 @@ int ib_init_ah_from_path(struct ib_device *device, u8 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) { _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"