Date: Mon, 12 Jul 2021 12:00:51 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 78f5ebaed62e - main - mlx5: drop Giant around VSC lock and CRSPACE enumeration on attach Message-ID: <202107121200.16CC0pRt009688@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=78f5ebaed62e38caafc72f4ec1c0a7c2013e15c7 commit 78f5ebaed62e38caafc72f4ec1c0a7c2013e15c7 Author: Konstantin Belousov <konstantinb@nvidia.com> AuthorDate: 2021-07-05 09:24:00 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-07-12 09:34:40 +0000 mlx5: drop Giant around VSC lock and CRSPACE enumeration on attach This code practically has not sleeping points, so Giant is locked for very long time. Noted and reviewed by: hselasky MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking --- sys/dev/mlx5/mlx5_core/mlx5_fwdump.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c b/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c index 7bb563846144..a23de943f4aa 100644 --- a/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c +++ b/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c @@ -81,17 +81,19 @@ mlx5_fwdump_prep(struct mlx5_core_dev *mdev) return; } + DROP_GIANT(); + error = mlx5_vsc_find_cap(mdev); if (error != 0) { /* Inability to create a firmware dump is not fatal. */ mlx5_core_warn(mdev, "Unable to find vendor-specific capability, error %d\n", error); - return; + goto pickup_g; } error = mlx5_vsc_lock(mdev); if (error != 0) - return; + goto pickup_g; error = mlx5_vsc_set_space(mdev, MLX5_VSC_DOMAIN_SCAN_CRSPACE); if (error != 0) { mlx5_core_warn(mdev, "VSC scan space is not supported\n"); @@ -180,6 +182,8 @@ mlx5_fwdump_prep(struct mlx5_core_dev *mdev) unlock_vsc: mlx5_vsc_unlock(mdev); +pickup_g: + PICKUP_GIANT(); } int
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107121200.16CC0pRt009688>