Message ID | 20230909201727.10909-6-samuel@sholland.org (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 0650FEE57CD for <linux-mm@archiver.kernel.org>; Sat, 9 Sep 2023 20:17:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0CA406B0124; Sat, 9 Sep 2023 16:17:45 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F1F506B0125; Sat, 9 Sep 2023 16:17:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D4B286B0126; Sat, 9 Sep 2023 16:17:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id C033A6B0124 for <linux-mm@kvack.org>; Sat, 9 Sep 2023 16:17:44 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 9592E805E2 for <linux-mm@kvack.org>; Sat, 9 Sep 2023 20:17:44 +0000 (UTC) X-FDA: 81218169648.16.DD4C3A2 Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by imf10.hostedemail.com (Postfix) with ESMTP id 43110C000C for <linux-mm@kvack.org>; Sat, 9 Sep 2023 20:17:41 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=sholland.org header.s=fm2 header.b="J kDfNIK"; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="N GLiUn6"; spf=pass (imf10.hostedemail.com: domain of samuel@sholland.org designates 64.147.123.20 as permitted sender) smtp.mailfrom=samuel@sholland.org; dmarc=pass (policy=none) header.from=sholland.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694290662; h=from:from: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:dkim-signature; bh=HyKF8F/MhKP+/+HfUHmiXOs6fZCNU+XAaKpYQdP8b5o=; b=LP8A/csPwaPzF4Pt2oiLVOH/pwQ7k4IA+LQHPo975c0+mCk/VCFZ8vrsbvJw/n69uZEI/6 noW/nxO6/p7WjCIKekKTmwwbkPSxl6q8hUvRDZOsYoWMKD0hPo+mc/bPQeaX0pTSh3cutJ IuZJXvH8dE9oJg8pXjTMT9hM0uUCQGw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694290662; a=rsa-sha256; cv=none; b=HLGmz6Ct61MMeMxWIbfjDNf8SGv8Y29S88y5FlKmd5QSxzsFYIU7ivmYm8NMsw9AdJId1Z w3zyHGcQ/Datm8TZpZMNxTYBSCFmChkIblAskP8eZ/utMMztFHf5PEqQqpWcOaUCEgR8jK wZNAI19onkeBQ5/v4s1ojMi39esaDS4= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=sholland.org header.s=fm2 header.b="J kDfNIK"; dkim=pass header.d=messagingengine.com header.s=fm1 header.b="N GLiUn6"; spf=pass (imf10.hostedemail.com: domain of samuel@sholland.org designates 64.147.123.20 as permitted sender) smtp.mailfrom=samuel@sholland.org; dmarc=pass (policy=none) header.from=sholland.org Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 68E34320090E; Sat, 9 Sep 2023 16:17:40 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Sat, 09 Sep 2023 16:17:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sholland.org; h= cc:cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1694290659; x= 1694377059; bh=HyKF8F/MhKP+/+HfUHmiXOs6fZCNU+XAaKpYQdP8b5o=; b=J kDfNIKb5OoXzQdKkTgNCXeFNXCpiqW915uClF5iObI79vo7f9KW1Oh4HGJX2fdDc FPCHVatGnaFaAlAgyLyGtZzbsLIaQWHH7iPoANcK791yNmKKu5RVi6V/QynxemzS 9monY3DvscjJUv3HIne/CVYPeBIsoH6jlmGSlsqD26JgXo+SAFgzQmy36f3E2OU2 LQ9cK5jE9nFkIoViqQQHHBUq4luDwnBWdHCU9UzEAdtgKI1W82x3CkbZo1jLqHIY PKbuXclW1at0SLW9cBQEpGMPFwBs7o1D0p7KCJ5P8elIVm3US6fNhwdD3dssW/7e LqEL3+hsdeSyUd3ulfZKQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1694290659; x= 1694377059; bh=HyKF8F/MhKP+/+HfUHmiXOs6fZCNU+XAaKpYQdP8b5o=; b=N GLiUn6J/oadG0HJX2fg9RyrdTv40GynBxcSwJzMBTpgX9CssXqBIHR3YkQQTcvPM f/zVsR8nU1eDqhte1SDK47QoMsAmiFKU3cbnTCOxlMf85tywSHvFcicsnb90A/lX AmMRLVKdOTJy2Q1bbjaDYxbrZs+RWZVuhripR6HiIDThEFArWjRWs49+0fMS+/5J BIBL1TxmT25fKm4qStV573bJdKmt3adGucn1QNZm2giqSiQ/m58+wtk5AdPw4x+H B8ky8qdfvjGGulnOCMfE6kJLFdsjLxoBSd77bsbHctJlyNembZZg+ep7W6Kf2lpj X93SgqnkADSG/m/0yvoHQ== X-ME-Sender: <xms:49L8ZCzVQL84ALiuQEP0Ead93a8Krd2Nc6JQ8M2XfEv9etvh1_UQMw> <xme:49L8ZORnpqKsLuHFUA-lAmo1uKCOcqjSzssS-7wHgDLnIFKXvjpIUxMcCq_qVwido sUD6FKvwI1FiIvo9A> X-ME-Received: <xmr:49L8ZEVswTfojHHcMN97n83bqnPjpxpbU_nGHfkL9xthl67SCy9lEs377Fl2CyBTp2bZzT9pIEOXJ83bPTqlR4jb0Asky6pvYaaAa2mgamF4kjseO7Q0U0Ep3DW9Fl6ei9ozdg> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrudehledgudegiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpefurghm uhgvlhcujfholhhlrghnugcuoehsrghmuhgvlhesshhhohhllhgrnhgurdhorhhgqeenuc ggtffrrghtthgvrhhnpedukeetueduhedtleetvefguddvvdejhfefudelgfduveeggeeh gfdufeeitdevteenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfh hrohhmpehsrghmuhgvlhesshhhohhllhgrnhgurdhorhhg X-ME-Proxy: <xmx:49L8ZIiDIG98txURAyYMLGs9QZIb2FEeIZlasS9UfIucV--eczHMPQ> <xmx:49L8ZED1p_QLgaFCY3d3W5ywNFfq5zhk4YBkOZ4KRHjKfRvcvLBqpA> <xmx:49L8ZJKIwSmEZj9d-xz-QWPwVITZI7SwOxt_VikvCdgyFwWoPu8z_w> <xmx:49L8ZH84GHPzaKdux-COeCYp2MU-glpjJ-N-1szOATamQ-bhFIduiw> Feedback-ID: i0ad843c9:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat, 9 Sep 2023 16:17:39 -0400 (EDT) From: Samuel Holland <samuel@sholland.org> To: Palmer Dabbelt <palmer@dabbelt.com>, Alexandre Ghiti <alexghiti@rivosinc.com>, linux-riscv@lists.infradead.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Samuel Holland <samuel@sholland.org> Subject: [PATCH 5/7] riscv: mm: Preserve global TLB entries when switching contexts Date: Sat, 9 Sep 2023 15:16:33 -0500 Message-ID: <20230909201727.10909-6-samuel@sholland.org> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230909201727.10909-1-samuel@sholland.org> References: <20230909201727.10909-1-samuel@sholland.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 43110C000C X-Rspam-User: X-Stat-Signature: k3do9fmyboyejd3cm3n5tbr3fyjwzb5o X-Rspamd-Server: rspam03 X-HE-Tag: 1694290661-180282 X-HE-Meta: U2FsdGVkX18IqBvEd6ldJjr4t8i1U4ZK71Oh22maaXjZPJSjj31ylPhx+UC7mP46KjCM7tbpGF1dEvP2H2DnNsXwyqtF8he0Z5Q2AgrcbKgp1+pHNP+9UayKS1NY4AnIroy41OTS3ICOE+3x+laZqlXcO0AV1JAf4efOp7cuXp0kORL9FF5jPjkO9YVpAh8DrzJGVUiM/VYa1XSNvj/IaHkOjoIZfn5IoIKDv9mt3bC6mm/5hreQtX3JCWKbB+pwW708VHgBCOOngtYT7yvOewzh63ZkvZKjICXPrOm07MekNaeCgN5uaEiPszQUj1CMdOjb7Ut0nsDOOA01aKve7scPUolQRBso+WV6/EYWQx4Rl+2T4PStDtFfyuxrYTfMawa8O7sfE7XpF+jEOuxjTUkQ72M8Ssr1ZAMiQTrHU7CRgjDnqgEuh2sgVBusD+vcDocxRVbX7xdGguaUHhCsvP5udq4cDeaUUp1/BxTZvMHBdxeRhlip8fdBREZGhB13WWPSbUXCpiu0F/GDKmdQnhSdkXrLf6gbFebMfBkGbCnqc7UKf6T6zizZvx6dGYz8dN1fBDtzSsBJeN+yNoJOasB6RXtAh+VN1yFDcxsneI4BexknyUTQj83o10FJ/xtaP/dK0yc4xDM7NwFJgomzdSUL+BYo35MqLD7ALX2sNNE1bmm5eQkaKYbP6VoXRP/7DB7CKP6QKWjNvoQbAcvDqKqjk9UhJD8wFWi7x9F6t2tg487GblS3bzvw9JWXNdYwTPcbjHQBLrqvRmpczcbQ7djA4o5oaSacO9fxvd4TXRm0eVlWmhGlFhM70bjSA2t78KUMO3SmBCGZnIMlW15nC7H81tYZXfsEj7jOvyqRO8eXkJZrBxxKUjM8ZFqZpc5ia5PWze5fGXZoliZrue//eVAzY7nxlrP3NZttNmofcO9mJottEwJ3z52ZgCgi48EMLvBszBbiFMPewoyHfj5 eWsj6Kcf wN4aJWYgD+jkaZ1pb5B74gWyPji8O0b+ddDfuRNUInssPHHrz/hBilEWNtR+uawWWdjm9TBtw2ZJKYj4L9PLH2zHP6lmnjLQSSLeQOZkJZy3a/ToHQ3apAX5nfwfrWG/+8QTivjWaqkc5hrQnxMQe892k1wZsybVyRKhiJhY3CujbhEVmFa0imV6VN+ckSh/avz0SRzB8jqwrXcWTQcBCyyvt4HeNlkpk+FOZpL7G2RUp23Vv3Ivq7uB7vbMOeGbf9Dvs/ZwBZCTKi9U9yf8e1jXgeWr+YdSWxk+/1ntGhme8mHZsVkBrzTsahG1jzx2MW+Ym X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: <linux-mm.kvack.org> |
Series |
riscv: ASID-related and UP-related TLB flush enhancements
|
expand
|
diff --git a/arch/riscv/mm/context.c b/arch/riscv/mm/context.c index 43a8bc2d5af4..3ca9b653df7d 100644 --- a/arch/riscv/mm/context.c +++ b/arch/riscv/mm/context.c @@ -200,7 +200,7 @@ static void set_mm_noasid(struct mm_struct *mm) { /* Switch the page table and blindly nuke entire local TLB */ csr_write(CSR_SATP, virt_to_pfn(mm->pgd) | satp_mode); - local_flush_tlb_all(); + local_flush_tlb_all_asid(0); } static inline void set_mm(struct mm_struct *prev,
If the CPU does not support multiple ASIDs, all MM contexts use ASID 0. In this case, it is still beneficial to flush the TLB by ASID, as the single-ASID variant of the sfence.vma instruction preserves TLB entries for global (kernel) pages. This optimization is recommended by the RISC-V privileged specification: If the implementation does not provide ASIDs, or software chooses to always use ASID 0, then after every satp write, software should execute SFENCE.VMA with rs1=x0. In the common case that no global translations have been modified, rs2 should be set to a register other than x0 but which contains the value zero, so that global translations are not flushed. It is not possible to apply this optimization when using the ASID allocator, because that code must flush the TLB for all ASIDs at once when incrementing the version number. Signed-off-by: Samuel Holland <samuel@sholland.org> --- arch/riscv/mm/context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)