From nobody Thu Mar 27 10:40:42 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 4ZNgDC1Gd9z5r912; Thu, 27 Mar 2025 10:40:43 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZNgDB5xztz3bnW; Thu, 27 Mar 2025 10:40:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1743072042; 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=eBMwRmiGosmuNq8z5kQKlb7NmhQSfuP+pqN7WPimkfM=; b=OCNnQcC5J3QVTICou0XxIYONmoq6nypT0cBhvNT3k/CS89yE6NRZ2atLY/Mtld6P0nJE9F yptprMoyUCWkkEWctvi+v9mDNBHm7Cx0gH6KzNV3C7sohToilCjPHarRk9oDByTjxRbMYl m5hPRzojKqxG5fE+/Xs+zKQtN4bVZlQlf4EuIvtcxhjjkVgxP5mWbknoDUizEUdWMJeQHk Wq0qHatWC6KnifIG1/EALlA4rva7SnvyE0UkS59evGPa2nd/adc+kwa10OiADDmjx3DSER WR7+xrmSWHlz3MysWxAIViA5/sfdeB4UZm5SvGqz2cnUztLv37nW4WDOGbox9Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1743072042; a=rsa-sha256; cv=none; b=aau/DFblpHDVq2/GMd7jw5wPCdz8ZkFkHgStRL6fPZJA+5cPQ2lXyQ+o7j4RQz3g9LHFUr DKXPiCzrq2Fl+Ga/EtKk0l9jjqHGXPFqTQKV39vALzhG2vOB00Vhai2rg8X1t+yIUt5TSw Z+fPvMocmB+wG9QO8XigrseJD8lj5aHsQHIe3Tre+iHn7Vjq/czKn+RMqt33gxXAp1esTe ofiVvq3GSgHiLNCPj+u+I7PezYJMVJHtJ8XCYcZGdTPjCqg3U5RESSxKXcBBve3fBi19ob t/4RC1B6tyBKwOyzXr/c6w6VHp8F1/xQSVulae95MMuXlUHcgeFh8TBn/uu19w== 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=1743072042; 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=eBMwRmiGosmuNq8z5kQKlb7NmhQSfuP+pqN7WPimkfM=; b=hukSK0R9sZKrHw0n/fooHwK9OuukjT/tZKfZsjqIAhn3+P6K2dNmsLTcO0afGxu7CWZ80y mB5Ezo0adUqJn6FwuVEVYZgRwYN5iN8gAZNbvT3Dvhe2MqEoF2NcpyELq6IUi4PswkxuCj HBSqpCsWPD91/hj9CqwI6mSo6NKKR0lKf5N1/2BsX3oiQd+S628mt1arqzKRNvx5g5AUse 8MIlnf9xRrWKdc5Y1fSWYpOG09G3iFYTfYs/P0aOOlQWzriErNg1gykqiV1KxOHTZKUGWP aXw+Y82qvQvqQi7sL2awniyk5QbP9hoUAHrAFvRu4i9UaIHKUeP4BgwUKrrY5w== 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 4ZNgDB5L7jztLS; Thu, 27 Mar 2025 10:40:42 +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 52RAeglK080194; Thu, 27 Mar 2025 10:40:42 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52RAeg1v080191; Thu, 27 Mar 2025 10:40:42 GMT (envelope-from git) Date: Thu, 27 Mar 2025 10:40:42 GMT Message-Id: <202503271040.52RAeg1v080191@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: 6d6c97fb72a7 - main - vm_fault: update pred lock acq in copy_entry 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: 6d6c97fb72a7dce85008cef891d093b24dcbb380 Auto-Submitted: auto-generated The branch main has been updated by dougm: URL: https://cgit.FreeBSD.org/src/commit/?id=6d6c97fb72a7dce85008cef891d093b24dcbb380 commit 6d6c97fb72a7dce85008cef891d093b24dcbb380 Author: Doug Moore AuthorDate: 2025-03-27 10:39:44 +0000 Commit: Doug Moore CommitDate: 2025-03-27 10:39:44 +0000 vm_fault: update pred lock acq in copy_entry In vm_fault_copy_entry, variable 'mpred' is invalided as the predecessor of the next page to be inserted when an allocation failure leads to lock release and reacquisition. Recompute it in that case. Reported by: markj Reviewed by: markj Fixes: vm_page: expose page_alloc_after 6b33d9dc46c2f1cbb9127377119 Differential Revision: https://reviews.freebsd.org/D49521 --- sys/vm/vm_fault.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index c97a7cd998df..2e254e255dce 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -2199,14 +2199,16 @@ again: /* * Allocate a page in the destination object. */ - dst_m = vm_page_alloc_after(dst_object, (src_object == - dst_object ? src_pindex : 0) + dst_pindex, + pindex = (src_object == dst_object ? src_pindex : 0) + + dst_pindex; + dst_m = vm_page_alloc_after(dst_object, pindex, VM_ALLOC_NORMAL, mpred); if (dst_m == NULL) { VM_OBJECT_WUNLOCK(dst_object); VM_OBJECT_RUNLOCK(object); vm_wait(dst_object); VM_OBJECT_WLOCK(dst_object); + mpred = vm_page_mpred(src_object, pindex); goto again; }