From nobody Sun Nov 21 23:59:18 2021 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 9080D1898B50; Sun, 21 Nov 2021 23:59:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Hy6nf3fmFz3qvv; Sun, 21 Nov 2021 23:59:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5D65E189C9; Sun, 21 Nov 2021 23:59:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1ALNxI7M032075; Sun, 21 Nov 2021 23:59:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1ALNxITq032074; Sun, 21 Nov 2021 23:59:18 GMT (envelope-from git) Date: Sun, 21 Nov 2021 23:59:18 GMT Message-Id: <202111212359.1ALNxITq032074@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Alexander Motin Subject: git: 06bd74e1e39c - main - GEOM: Switch g_io_deliver() locking from cp to pp. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mav X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 06bd74e1e39cb33b18b19a748a80b5e1d70fda17 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mav: URL: https://cgit.FreeBSD.org/src/commit/?id=06bd74e1e39cb33b18b19a748a80b5e1d70fda17 commit 06bd74e1e39cb33b18b19a748a80b5e1d70fda17 Author: Alexander Motin AuthorDate: 2021-11-21 23:50:59 +0000 Commit: Alexander Motin CommitDate: 2021-11-21 23:50:59 +0000 GEOM: Switch g_io_deliver() locking from cp to pp. Single provider may have multiple consumers, and locking one of consumers is not sufficient to protect the provider. Though the only part of the provider this locking protects now is its statistics. Reported by: Arka Sharma MFC after: 2 weeks --- sys/geom/geom_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/geom/geom_io.c b/sys/geom/geom_io.c index c4e9be02bf44..f32a3dc52f93 100644 --- a/sys/geom/geom_io.c +++ b/sys/geom/geom_io.c @@ -678,7 +678,7 @@ g_io_deliver(struct bio *bp, int error) if ((g_collectstats & G_STATS_CONSUMERS) != 0 || ((g_collectstats & G_STATS_PROVIDERS) != 0 && pp->stat != NULL)) binuptime(&now); - mtxp = mtx_pool_find(mtxpool_sleep, cp); + mtxp = mtx_pool_find(mtxpool_sleep, pp); mtx_lock(mtxp); if (g_collectstats & G_STATS_PROVIDERS) devstat_end_transaction_bio_bt(pp->stat, bp, &now);