From nobody Fri Sep 22 21:51:24 2023 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 4RsmDr6dj1z4tTXJ; Fri, 22 Sep 2023 21:51:24 +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 4RsmDr66X6z3QGH; Fri, 22 Sep 2023 21:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695419484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1h1SxTivSoOv20D78mK7qsa7Gxuup5xXefPK9jyv6Co=; b=FMe3LDFOoWVG9T+Lj/8Er4RuoPSuJ67VfL4/eaw11acbv58ExTqAVlAB1N43QXI3YpyNR1 aK057MYlzhcSD3NMp6cafvvU52THE7IyDmEuX4RvKHb0ruLONncc4W07L/5GbXfD295xDq 18mvUba+YnCmp2vI7SMzhusBvsEoFIqXr26Cb7KZS2xFhoamx6+hn2yYWUq2enOL2pyZND eCwBN9bpBsfJdi9lxHKwbwj7qWRp5z5TSKBM+hoZgIy3CxSLfDByZyImNV8nU0MhTrOalG Xyz8gwyuTZ4HfpuZsrQmx1hF2D7g9u7fZjadfESHiItsJx5DbPH2OFrN+KCn7Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1695419484; a=rsa-sha256; cv=none; b=HBFP3uzGTUPZBxGNAMfpgHzv0HRiSrvXiRg+lo4CR2yzsej7WyfXCxh7+3UF2bg/Fhi6YM TNUymhuNPClJrmBaQg9GqYKoPy2V2QrOMLCzgoU144LqI4i+kiYSondODsEhWub4garkcA nnxh+rUN6grFGFkyq8ZYtl9Z+zWhoKHn+VIGtWte/jlYLUyRPDdFCzKXKC93boU5G+TVH2 R/jNiXRFYtsrx6a/JOyMPSP9pelxHLuKIE5fxOHzrLbjUzPjg4KSnpsXGxAFE3HD7f2DwE VCTdgjNXePAxzNecN1FliPKxOUb9wHO7HWzaQ78lIKugsM4AGKYSPRG2ixuKbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1695419484; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=1h1SxTivSoOv20D78mK7qsa7Gxuup5xXefPK9jyv6Co=; b=Xx73E22/Mb2LyoeTiUSe9qyU1RIJKLmfmYYcFH6T0j8boG1u0Kz1+etEN87G3fxKzE2ASF so3dMsdfEbTFYXYwWleYktg0hklrgrANBnqDMSZzmLHY+mHGnZB5cU0xiBngqxyyQQZBOD qaHeqkaYFF6Kkebo1Y8ZX+PVLcrQpzDcszzuO3dc076JIt/bJ8otPUtCs900C2/u5OzB4X r3oBTWG2uz722S0J2L2Mk6V2m+TlFhHAYdNKlCXIk1wxOiZgaZs6rnFEcqGQOuv6GyjMLf sOj5pBQ8ncL94YlpEsbpzuN2qBYf5y84zzw2Q8QoaRHF2SEzhYP97ER08i51NA== 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 4RsmDr4r94zdx8; Fri, 22 Sep 2023 21:51:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 38MLpOPe039612; Fri, 22 Sep 2023 21:51:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 38MLpOWO039609; Fri, 22 Sep 2023 21:51:24 GMT (envelope-from git) Date: Fri, 22 Sep 2023 21:51:24 GMT Message-Id: <202309222151.38MLpOWO039609@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mateusz Guzik Subject: git: 873b6cd62043 - stable/14 - vfs: stabilize freevnodes_old 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: mjg X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 873b6cd6204376e844815b4698e0f674634bc1c0 Auto-Submitted: auto-generated The branch stable/14 has been updated by mjg: URL: https://cgit.FreeBSD.org/src/commit/?id=873b6cd6204376e844815b4698e0f674634bc1c0 commit 873b6cd6204376e844815b4698e0f674634bc1c0 Author: Mateusz Guzik AuthorDate: 2023-09-16 15:41:12 +0000 Commit: Mateusz Guzik CommitDate: 2023-09-22 21:50:48 +0000 vfs: stabilize freevnodes_old In face of parallel callers. (cherry picked from commit ef89b78bb1f60484cc743fa590d623ad896ca8e9) --- sys/kern/vfs_subr.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 9d5b1b7e472e..11cdea5a7dc1 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1528,21 +1528,22 @@ vfs_freevnodes_dec(void) static u_long vnlru_read_freevnodes(void) { - long slop, rfreevnodes; + long slop, rfreevnodes, rfreevnodes_old; int cpu; rfreevnodes = atomic_load_long(&freevnodes); + rfreevnodes_old = atomic_load_long(&freevnodes_old); - if (rfreevnodes > freevnodes_old) - slop = rfreevnodes - freevnodes_old; + if (rfreevnodes > rfreevnodes_old) + slop = rfreevnodes - rfreevnodes_old; else - slop = freevnodes_old - rfreevnodes; + slop = rfreevnodes_old - rfreevnodes; if (slop < VNLRU_FREEVNODES_SLOP) return (rfreevnodes >= 0 ? rfreevnodes : 0); - freevnodes_old = rfreevnodes; CPU_FOREACH(cpu) { - freevnodes_old += cpuid_to_pcpu[cpu]->pc_vfs_freevnodes; + rfreevnodes += cpuid_to_pcpu[cpu]->pc_vfs_freevnodes; } + atomic_store_long(&freevnodes_old, rfreevnodes); return (freevnodes_old >= 0 ? freevnodes_old : 0); }