From nobody Sat Dec 02 21:56:00 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 4SjNzN4M4Bz52nZ0; Sat, 2 Dec 2023 21:56:00 +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 4SjNzN3TGnz4px3; Sat, 2 Dec 2023 21:56:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701554160; 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=d2sNrYyXcDNrMR+XTCXHF36L2YykvwQHgwqCNZJjPWw=; b=C3OfCYAf2JhEgPEw/W2myyjBk+cg2RPN6J65XNR8z3ZNyB1Iaszu71hw6yvwIiEJN+iZwt +UHUDe1WVc3znigHlrl7NLIKy05wJj953DUOZmDPn1Oi4EpzH60grtThGCB/vFlm8i5SeO UnBMoA8RQSrw62AlPQfXnpwOxUHYiJjZVkAiEGDCld8CU6ZLy8rx5dyPtJqOvXZ36Oq9LB 127KuG1HakNYhXLXfAVOGG/RlUvmN1ufLvfZWtyEk6D1erhIyqYyq1x6JBszs3fVmaOexl ueQrjzwFlrYokw6IlQ5h1DwwD6U7tNzO6j2tiX19snn27Jr/fx9tMXfFSTR+5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701554160; 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=d2sNrYyXcDNrMR+XTCXHF36L2YykvwQHgwqCNZJjPWw=; b=stFIY7+kjzOqgO5UW/fRbgHTMzbBE2Ffr0g7/9+fmYcJvNJZLgB5bI4h+VZ6i0HkW18Yhp vxfyFUvCoW2FALMqQ88CO45JMCRZkeX+gWv43xxypo0D6bd/4F2cA1NVe7igTxZgBvsoVQ Ez6xpJdHNEgYACOmWWVPY7g3QT+aXqOeDl93WzhEHeQOUZUie5hmih9ykJI5uLh32TVZtp S+gtqBazVP88EaNmaZ4Nwe+rgeMLImTqvXXR038cbFSW4omILm6OLACqD4FhH62lUl8h+v x8F65b+j+VbPSAGriBWyqxlWWGmC8yKfDE1bX5SPG0YSajfIkJcP4J4bH0x4YA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1701554160; a=rsa-sha256; cv=none; b=x8kl3eX/DaWowDPQFNUPbJGnxmPEMrvLkpaSSjWl2nsAGLa3yfIcngv9h0FySH0PJnYh46 j9QS3mWEnRJ04fqg+xbYSE632vFu2DS/C32uP2dEzmsUA9ru3zTtBOTPTVEDc6atwzMl4R 6SNeB3xYXHa32tUaN8qnFd/E6NetlVLp/x4+O3oGpGGrfmUa80f5nZkdh1V8zn/jbWSJ75 YHjO9BKwHBUiG/Xtn2XhLuAAptfpfuDCTmYKxw/pS4lYnjaZZMvC9lyTHvrhZuS/RJHxwG 0+EuXc03KyP5NixOgtBGlxDmqwcS1FPS2M8MNPYMOhKQqFySNQvr09axivLrrg== 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 4SjNzN2bMrzZ44; Sat, 2 Dec 2023 21:56:00 +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 3B2Lu0n3034834; Sat, 2 Dec 2023 21:56:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3B2Lu0lh034831; Sat, 2 Dec 2023 21:56:00 GMT (envelope-from git) Date: Sat, 2 Dec 2023 21:56:00 GMT Message-Id: <202312022156.3B2Lu0lh034831@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d246ba035960 - stable/14 - riscv: Remove unnecessary invalidations in pmap_enter_quick_locked() 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: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: d246ba0359609e9d9f2b54f2ceeaf41152a5c32e Auto-Submitted: auto-generated The branch stable/14 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d246ba0359609e9d9f2b54f2ceeaf41152a5c32e commit d246ba0359609e9d9f2b54f2ceeaf41152a5c32e Author: Mark Johnston AuthorDate: 2023-11-02 18:34:26 +0000 Commit: Mark Johnston CommitDate: 2023-12-02 21:54:36 +0000 riscv: Remove unnecessary invalidations in pmap_enter_quick_locked() This function always overwrites an invalid PTE, so if pmap_try_insert_pv_entry() fails it is certainly not necessary to invalidate anything, because the PTE has not yet been written by that point. It should also not be necessary to invalidate TLBs after overwriting an invalid entry. In principle the TLB could cache negative entries, but then the worst case scenario is a spurious fault. Since pmap_enter() does not bother issuing an sfence.vma, pmap_enter_quick_locked() should behave similarly. Reviewed by: kib MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D42291 (cherry picked from commit 71b77a7172c26783a9d2181d3bed27cf62974200) --- sys/riscv/riscv/pmap.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/riscv/riscv/pmap.c b/sys/riscv/riscv/pmap.c index 79248c4c1fcd..7dce0cd9f5be 100644 --- a/sys/riscv/riscv/pmap.c +++ b/sys/riscv/riscv/pmap.c @@ -3452,11 +3452,9 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, if (l3 == NULL) panic("pmap_enter_quick_locked: No l3"); if (pmap_load(l3) != 0) { - if (mpte != NULL) { + if (mpte != NULL) mpte->ref_count--; - mpte = NULL; - } - return (mpte); + return (NULL); } /* @@ -3466,13 +3464,10 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, !pmap_try_insert_pv_entry(pmap, va, m, lockp)) { if (mpte != NULL) { SLIST_INIT(&free); - if (pmap_unwire_ptp(pmap, va, mpte, &free)) { - pmap_invalidate_page(pmap, va); + if (pmap_unwire_ptp(pmap, va, mpte, &free)) vm_page_free_pages_toq(&free, false); - } - mpte = NULL; } - return (mpte); + return (NULL); } /* @@ -3518,7 +3513,6 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, } #endif - pmap_invalidate_page(pmap, va); return (mpte); }