From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 40839E77188 for ; Mon, 30 Dec 2024 17:58:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF82B6B009E; Mon, 30 Dec 2024 12:57:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7F4046B00AD; Mon, 30 Dec 2024 12:57:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2A3E36B00AA; Mon, 30 Dec 2024 12:57:35 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 603E76B009E for ; Mon, 30 Dec 2024 12:57:35 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 15F981407D4 for ; Mon, 30 Dec 2024 17:57:35 +0000 (UTC) X-FDA: 82952381400.10.38E5A6C Received: from shelob.surriel.com (shelob.surriel.com [96.67.55.147]) by imf29.hostedemail.com (Postfix) with ESMTP id 213B512001F for ; Mon, 30 Dec 2024 17:56:26 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf29.hostedemail.com: domain of riel@shelob.surriel.com designates 96.67.55.147 as permitted sender) smtp.mailfrom=riel@shelob.surriel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1735581417; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SXXuSMpFNCfzTFZ81LFvoO369pHVUEu6XId56aIoa+E=; b=aCr9cE2v59CwOZLn+aDsj9PNIg89NVvo+B8s0wEo1xvvnj4xyCW/mC0mBHoElbtHXnqXcN X61/mNq5tCQN2/uqMEzYIqlQKmJLLquiFlNw74DMk90WCp79hZ8krAEm0zhYoFjT5RXg6+ 1jKCUk9CM83V+r2iZMDbqYClwFXwJQs= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf29.hostedemail.com: domain of riel@shelob.surriel.com designates 96.67.55.147 as permitted sender) smtp.mailfrom=riel@shelob.surriel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1735581417; a=rsa-sha256; cv=none; b=M5zec0ZTmfm513MT1JWF4EehhaTti/OHkU1GAZoa4otjNUrGnlU0IhHdYgeXCGA+NQXpCa UlRYuyRi7r3WS/4BzBP2j1krL+Nyl6B6pwfUU37lISAU1F/JwNlTldm5FNk5wdz47rBW03 NMQOHziGTuaUhOqPxCfBlFpAiUvO91Y= Received: from fangorn.home.surriel.com ([10.0.13.7]) by shelob.surriel.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.97.1) (envelope-from ) id 1tSJzf-000000008Lf-2gRa; Mon, 30 Dec 2024 12:55:55 -0500 From: Rik van Riel To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, kernel-team@meta.com, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, akpm@linux-foundation.org, nadav.amit@gmail.com, zhengqi.arch@bytedance.com, linux-mm@kvack.org, Rik van Riel Subject: [PATCH 12/12] x86/mm: only invalidate final translations with INVLPGB Date: Mon, 30 Dec 2024 12:53:13 -0500 Message-ID: <20241230175550.4046587-13-riel@surriel.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20241230175550.4046587-1-riel@surriel.com> References: <20241230175550.4046587-1-riel@surriel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 213B512001F X-Rspamd-Server: rspam12 X-Stat-Signature: 3e5w99gj7m9awrtdynhiwcttxxpf843h X-Rspam-User: X-HE-Tag: 1735581386-355154 X-HE-Meta: U2FsdGVkX19EWO4uFZ3KJU/mv7mIZ27YXbBBEy6cE1gbYCnJzobsNXw0/bdADgkDtsWNloJKz9+be2RGcfIpFXms6gMm/LfxCla4AjP3sC7X6jE93oiOvZqTkNFxLn/wTatACXO9RD8wNHEPPyLv+jZ9APNNgUWF7jTtFyXwERbX52xpcU+JZcw0BVTDIqbuYGcplt+kvFSOjeUk6d2r62hii19kxXraWVSxv9i22SNpt4Dm7V73w1gVEaGJA6Q53LJXcatSbG9gd+SXgpkbT7Qi5h02duEBDr3jSmeknO7qrbJoEGMIq8XHydMt03KlWF4CKerCT/MkTF9xHXTVcLXQOXu6KFlQoNpohkSU9GasZwW4S9Tc+gvMVjK9c90VVZk2G27EXKn65e3Ro4YZpMEa+wVhRYOyZsu8v9HWaNpdAPS6Is2lBys/VLFVn4D+Ku7NaaHIXRbLAVA5AwaIyKDfPSseDTfvzF8e28TsoTh2OhFnnenhkn9GE+DiQl0iJ/mjkzJwkEH3g+S8Jgj85K3r8dl3R1wOpsJQ/J8Ek6379J6yQF8Jn87sOI06eLeixuUf2xUFLATY3Xk7fbpRRD4B//KJdevU3nG5ChQUqYnMEgZkg0fo+tkCSxtMGdy8jLxzWPdXQEmm8ZJkl2NM+rm/4p2nSmwsWWjT3VWBUilaV/t78P2wmrxOSJ2ltHi4PYOwDcDJtUeuNgxm2jSwvwBEFkwu8tsFTsZv8Bk+Zet5q8gB3MC2i/SbyKxRz6aolPiidYzU8JwBms76XmYPq3LoOhdoH5S5aHi5QMmxbHWsURPwpnfyUCdz5iOF+QqbTussz02ZeV00Mihtw5hXpdeKoAD0UY6UJ+PxqIVw5bFs9KMUQx/31NE0roiTMRCZY+sxc+467EV/GGN6V7OUf6udasW5Kg27gTluC6TlJxN5GaSadflNLIrrE0m04rNVT/aK189gNl959cAtAwW 4qygw2Vk UpdLl80v2wGDKdtyc33yQClgVhVDhZpk0uWjl3FTE5PifO9TZOsZX8EwXz5yDAPSYQr1Mkc7VTeuf6YF04F21twasLPBketBkcrXyCEdtiy7Nixdyyno63FaGZM1KH9/oSi8UFkYjd4QAzzncq6YQhMcKQZ332RkCNSfzy9agl+f7ZQt1Z5ZVhYGmLaMa2MjdMmcFBimtFi8EDH+B+I/CNtA6vX4NBrA/F0dmmBg5Gx4zoulyVVmi3RjcE41jczZ9XRzCVpn+ASOaO6V+DYeyKv3s2TtY24j3Q1cb9COGa0WBzCSmvRPPOe+rf52FHSVJofkqhYy+DtUQ1HvSlrXp3qTLRxeE4Wh40ukx6aD4yBvbZ4QWCDTHupaElSl296l37gzK8mMg9Wk5ShY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Use the INVLPGB_FINAL_ONLY flag when invalidating mappings with INVPLGB. This way only leaf mappings get removed from the TLB, leaving intermediate translations cached. On the (rare) occasions where we free page tables we do a full flush, ensuring intermediate translations get flushed from the TLB. Signed-off-by: Rik van Riel --- arch/x86/include/asm/invlpgb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/include/asm/invlpgb.h b/arch/x86/include/asm/invlpgb.h index 862775897a54..2669ebfffe81 100644 --- a/arch/x86/include/asm/invlpgb.h +++ b/arch/x86/include/asm/invlpgb.h @@ -51,7 +51,7 @@ static inline void invlpgb_flush_user(unsigned long pcid, static inline void invlpgb_flush_user_nr(unsigned long pcid, unsigned long addr, int nr, bool pmd_stride) { - __invlpgb(0, pcid, addr, nr - 1, pmd_stride, INVLPGB_PCID | INVLPGB_VA); + __invlpgb(0, pcid, addr, nr - 1, pmd_stride, INVLPGB_PCID | INVLPGB_VA | INVLPGB_FINAL_ONLY); } /* Flush all mappings for a given ASID, not including globals. */ -- 2.47.1