From nobody Mon May 19 03:59:12 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 4b13pT2SJgz5wQFh; Mon, 19 May 2025 03:59:13 +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 4b13pS4gfDz3dxX; Mon, 19 May 2025 03:59:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747627152; 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=K30A9f/MOwjc/PT/vht6QsJMBH8LKCwaTH8WqHDaKnY=; b=hUVsW3SUpsZRxmLe5ctFpVPel2/F8ESM5w6j+hCysZgVIKUpKkECpqPfRVhKyDaWDuI6kZ LBsFucSPA5/j1nk6eolEuWlFLmxUN2XrQdNZKF+GFEIdwIWbJFgE9R0OeXiyaCSnwzXgcC ZwUCYAIW1KQt1ZgXr7gtVRJbszC7Z3pMfcJvJEJ5sorEEVE0rN16MNn2dFQokh/0ICiU33 om5X+Fdl7/TwMc5AvK0tiRZee68DxHEKX4Z1MxjlY/FCZBL41FGjGYKfaNP2aJL8c8k12d UwMPioQynLU4IL7a6JRH+DCs71H7azpJiZykE7gYb3uui9S8e9ZTyu3xazwF2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747627152; 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=K30A9f/MOwjc/PT/vht6QsJMBH8LKCwaTH8WqHDaKnY=; b=OsvZBNZCPvNg+JLPlWCeK/qAGtwgDP1Y552DcC7qJ+fVXldPyElBMIsNFLEwLGHACQebaW QB71r/8EtdMzpD3ODUyir6Hf2ZwgrlAVnVlMsJxylvMAut8ihxQbyaEJ8+m2x20MXWLrIi MZwIZt+2mvqEi0hEYAdFUlRFqIVQ7FLQiM+cr4skuepqhZGLS991mF7swKeEoFDDq7ypB6 si2oS8g2CKkNSlJcJQ0ATUiIpL/FNv/42KoKhVvSt5KNS27mZfDBJiWuSIch0zTNfDzfpl 0RfcPA5+OcS4EZD3Ehp8AJC9ojinK+2FzBI/mM8fE4VMUZUeJJ5uVayRAKv/bw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747627152; a=rsa-sha256; cv=none; b=JdFMUagwDMn5jvq7AJXsPjVtTtqkIgMUzAMbSnSbDLK9kOZNKAoVQc6TPx33EPrqWc587k 5IRGADusr2kXqHmBZOQJpR2qqOBb97IcBNUf7oXXQWGn8tztoWf4zfwNR09YFdaXz11V+P s+9z+NfCCBE5vmkTFrEzQ6JA0+JrSMObWsVV6fMkA8fzqDMOOVeyn0nE/SdVYch/9tkpB1 UgrpK16zpaWqPlVpS4Jh8NmXaxBOVWKVF4CyZW1v2lnqx5zmnFM4IrGi8LvtlKi4bPDPB1 BCfmbqDOjU/J1O0itK1YgL96chZHK12QG7DWiUxL1yuT9tDkpl0QZh6cul4u4A== 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 4b13pS3rPKzp1w; Mon, 19 May 2025 03:59:12 +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 54J3xCPA093695; Mon, 19 May 2025 03:59:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J3xCGi093692; Mon, 19 May 2025 03:59:12 GMT (envelope-from git) Date: Mon, 19 May 2025 03:59:12 GMT Message-Id: <202505190359.54J3xCGi093692@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: 26b3641f97d9 - main - vm_page_grab_pages: avoid doomed range lookups 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: 26b3641f97d9025a7c12b70935098892ae26ca0c Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=26b3641f97d9025a7c12b70935098892ae26ca0c commit 26b3641f97d9025a7c12b70935098892ae26ca0c Author: Doug Moore AuthorDate: 2025-05-19 03:58:00 +0000 Commit: Doug Moore CommitDate: 2025-05-19 03:58:00 +0000 vm_page_grab_pages: avoid doomed range lookups In vm_page_grab_pages, if a range of grabbed pages has just been exhausted, then an immediate request for a new range is futile; we know there's no page there. So only try to lookup more ranges after allocating a page. Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D50394 --- sys/vm/vm_page.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index eec85a5eb6f4..ea6fbdbc6386 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -5164,14 +5164,13 @@ vm_page_grab_pages(vm_object_t object, vm_pindex_t pindex, int allocflags, i = 0; vm_page_iter_init(&pages, object); retrylookup: - ahead = 0; + ahead = -1; for (; i < count; i++) { - if (ahead == 0) { + if (ahead < 0) { ahead = vm_radix_iter_lookup_range( &pages, pindex + i, &ma[i], count - i); } - if (ahead > 0) { - --ahead; + if (ahead-- > 0) { m = ma[i]; if (!vm_page_tryacquire(m, allocflags)) { if (vm_page_grab_sleep(object, m, pindex + i,