From nobody Fri May 2 02:17:47 2025 X-Original-To: dev-commits-src-main@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 4ZpZMH56mPz5tsk0; Fri, 02 May 2025 02:17:47 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZpZMH3LgDz3wP1; Fri, 02 May 2025 02:17:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746152267; 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=vKTg5ZK6eolOEY81W/ctywj6gnCzpjobCLL8gET+UjI=; b=OyBFIxtSPyChcubfGAeOvjEe+2+9Rj/MJsOcgGqapd37ZK+JPiUY271e4SwcassPLWWCxn eRs86EMexC/NHnh9eFg0Uxeqe47bY3qBRP8nfECmyf1t/aW/7tcJR8eefBriH4z4tHvdj2 q8KGUqEBw2FyybBWwKP22nA5onp8xlqS+w4Vt4+J1mVLLd3JJgiu23DesEhQdPg/SWlZic OSjZ1yR1IBe3As1bjLwGM9+ww5+GUFWUpA4iC7Zuw5oi7/AdLNItUi68p2QiqmopQjme2I SQFG4DST7DmwAsddSDlyfsLO1+Upl8gojH7GE7geR6KJd5+yWlbiCzwHFJYKdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1746152267; 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=vKTg5ZK6eolOEY81W/ctywj6gnCzpjobCLL8gET+UjI=; b=sIbOTnNGBwb5+a/E4D2MFU3H0O9h0WVC0FRpQg4aI+2Lshiw6H/mmGdMAYKTvKsu0KcK4E Q5JU/vnYYeLYBHr0qpCUJRMypxYhgcE7qAe082zu02FEC0F4zk18/adzy4XdPy+zWlBABw xB3Sx6H38mXtgapPq60BmfI95I0Vv3MD6xPTDBDogimSkGk0cKOVNW9R6g9fAkIlzSceAC 705pMQ723JNA78vMe9dvm5NOt0D+yQCxJWzNyc7s53akVf/jaqZyPPNuHevKSWw+4Til7L E8paRETmoIEVJWD/aFK8YNJzSWAnNp0m2pPuzQS7FwLdGLo0hQPFTBhVEqeilA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1746152267; a=rsa-sha256; cv=none; b=gm6RSpnJZ/XO8BDSWOpJZzuQSSuFec3sx85Tcw/0QFrPlshHAZep/UDzAYLdOoYN5u9gPe OY/PSWn9DvgmykmPab6HhhCkg+Lv7NrxInofF/veUX6XH2QIXy7k6ZFoxZfH1gUyhoKsGD pGoX1B7ylx3rGcqW7bSfzcgMhaXaCgDJrS8fJwaC5RgcRAe49DbGwYNLK9AyHz1rdb5vn2 4fFCV222EFr4Pht6mqRGeOK+S1wHdWzCf4pp+ISiIREQGdaT2tgBpYQMybeqrw20wp9dl7 OeWfJ0tJY9EXPNweb6OCFHDZz6B/zzConkJA8BvptDlttC3aBN63haSYXgFfFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4ZpZMH2V6hztyr; Fri, 02 May 2025 02:17:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 5422Hlvf083917; Fri, 2 May 2025 02:17:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5422HlEM083914; Fri, 2 May 2025 02:17:47 GMT (envelope-from git) Date: Fri, 2 May 2025 02:17:47 GMT Message-Id: <202505020217.5422HlEM083914@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Doug Moore Subject: git: 2735c20d114f - main - vm_page: use ref_count for NOFREE counter List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dougm X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2735c20d114f2d53b8a44d4fb7b00ab49280062b Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=2735c20d114f2d53b8a44d4fb7b00ab49280062b commit 2735c20d114f2d53b8a44d4fb7b00ab49280062b Author: Doug Moore AuthorDate: 2025-05-02 02:16:27 +0000 Commit: Doug Moore CommitDate: 2025-05-02 02:16:27 +0000 vm_page: use ref_count for NOFREE counter In managing freed PG_NOFREE pages, use ref_count instead of pindex for counting pages in freed PG_NOFREE blocks. No change in behavior is expected. This restores the (useful) property that the pindex field is of interest only for pages that are mapped to objects. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D50112 --- sys/vm/vm_page.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 8dce6feaca09..d254f08d4801 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -2593,18 +2593,19 @@ vm_page_alloc_nofree_domain(int domain, int req) vm_domain_free_unlock(vmd); return (NULL); } - m->pindex = count; + m->ref_count = count - 1; TAILQ_INSERT_HEAD(&vmd->vmd_nofreeq, m, listq); VM_CNT_ADD(v_nofree_count, count); } m = TAILQ_FIRST(&vmd->vmd_nofreeq); TAILQ_REMOVE(&vmd->vmd_nofreeq, m, listq); - if (m->pindex > 1) { + if (m->ref_count > 0) { vm_page_t m_next; m_next = &m[1]; - m_next->pindex = m->pindex - 1; + m_next->ref_count = m->ref_count - 1; TAILQ_INSERT_HEAD(&vmd->vmd_nofreeq, m_next, listq); + m->ref_count = 0; } vm_domain_free_unlock(vmd); VM_CNT_ADD(v_nofree_count, -1); @@ -2622,7 +2623,7 @@ static void __noinline vm_page_free_nofree(struct vm_domain *vmd, vm_page_t m) { vm_domain_free_lock(vmd); - m->pindex = 1; + MPASS(m->ref_count == 0); TAILQ_INSERT_HEAD(&vmd->vmd_nofreeq, m, listq); vm_domain_free_unlock(vmd); VM_CNT_ADD(v_nofree_count, 1);