Date: Wed, 16 Oct 2019 08:55:30 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r353632 - head/sys/ofed/drivers/infiniband/core Message-ID: <201910160855.x9G8tUJO065505@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910160855.x9G8tUJO065505>