Message ID | 20250226120336.29565-4-byungchul@sk.com (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 C49F7C021BF for <linux-mm@archiver.kernel.org>; Wed, 26 Feb 2025 12:05:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 52D79280002; Wed, 26 Feb 2025 07:05:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4DC67280001; Wed, 26 Feb 2025 07:05:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 37DCB280002; Wed, 26 Feb 2025 07:05:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 14D09280001 for <linux-mm@kvack.org>; Wed, 26 Feb 2025 07:05:43 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C51141413D8 for <linux-mm@kvack.org>; Wed, 26 Feb 2025 12:05:42 +0000 (UTC) X-FDA: 83161966524.27.8145DBF Received: from invmail4.hynix.com (exvmail4.hynix.com [166.125.252.92]) by imf21.hostedemail.com (Postfix) with ESMTP id 41E661C0002 for <linux-mm@kvack.org>; Wed, 26 Feb 2025 12:03:47 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=none; spf=pass (imf21.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740571428; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references; bh=GpivHWQDQ8TeIBddoSLz7nMvfj8HMxpiIf9q3WZjE/0=; b=DrzCUjfvWJnQtnLGsxkVHDijwG8AtT2wtIa92Pr9HuF42VgY92kf3s6QoRhvJthaLXWAIz D3bmWkvtRkAPbw3KKs3acJvjbfWWFJU0D5F+MZDek1boM5TuzVdZeCJEIG1TbFwD8luOEo c4SbNdxw5Bu3QVEz+6TDvt14jLYkcds= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=none; spf=pass (imf21.hostedemail.com: domain of byungchul@sk.com designates 166.125.252.92 as permitted sender) smtp.mailfrom=byungchul@sk.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740571428; a=rsa-sha256; cv=none; b=2q/iPsFM77cSRLf+KjPNXvuKqbaUi6J6sN5GqSjQ7G/A8qSBNf8anIUCMmi+uht9clcZAj WP4Dnp5K2twnm7RBX78WuRD8wDYMupq4dPBwnKycZchJHfwVKUSyIlr4GzdufZGHA7Rkj1 ap4ndIWK48slQCHIw1HzMNcvCJMzJ7g= X-AuditID: a67dfc5b-3e1ff7000001d7ae-05-67bf0322220f From: Byungchul Park <byungchul@sk.com> To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: kernel_team@skhynix.com, akpm@linux-foundation.org, vernhao@tencent.com, mgorman@techsingularity.net, hughd@google.com, willy@infradead.org, david@redhat.com, peterz@infradead.org, luto@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, rjgolo@gmail.com Subject: [RFC PATCH v12 based on v6.14-rc4 04/25] x86/tlb, riscv/tlb, mm/rmap: separate arch_tlbbatch_clear() out of arch_tlbbatch_flush() Date: Wed, 26 Feb 2025 21:03:15 +0900 Message-Id: <20250226120336.29565-4-byungchul@sk.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20250226120336.29565-1-byungchul@sk.com> References: <20250226113024.GA1935@system.software.com> <20250226120336.29565-1-byungchul@sk.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCLMWRmVeSWpSXmKPExsXC9ZZnka4S8/50g51TpC3mrF/DZvF5wz82 i6/rfzFbPP3Ux2JxedccNot7a/6zWpzftZbVYsfSfUwWlw4sYLI43nuAyWL+vc9sFps3TWW2 OD5lKqPF7x9z2Bz4PL639rF47Jx1l91jwaZSj80rtDw2repk89j0aRK7x7tz59g9Tsz4zeLx ft9VNo+tv+w8GqdeY/P4vEkugCeKyyYlNSezLLVI3y6BK2PunU+sBU/5Krr3JjQwzubpYuTk kBAwkVjV+JwJxp5+ug3MZhNQl7hx4ycziC0iYCZxsPUPexcjFwezwDImib0nGthAHGGBLkaJ my1NYFUsAqoSu+ceYgGxeQVMJQ5174SaKi+xesMBsBpOoEmfph1jA7GFBJIldv7+wwQySELg NpvExtdd7BANkhIHV9xgmcDIu4CRYRWjUGZeWW5iZo6JXkZlXmaFXnJ+7iZGYFgvq/0TvYPx 04XgQ4wCHIxKPLwPzuxNF2JNLCuuzD3EKMHBrCTCy5m5J12INyWxsiq1KD++qDQntfgQozQH i5I4r9G38hQhgfTEktTs1NSC1CKYLBMHp1QDo3izEHP9nBebDpwM1T/0okyjf9fGbIOfxrHT jXzkxRcfaos/rsXd+V76vBazyxJ+m9LivGyfuoYFIt6Ojodm3GQ88iP6pMQpzYYDD9NE75aJ +/4QnvF+furBnJwtVtudxEOY53E77Piz0jD93jTFxeJSV3580mRas0n0sfI6I1+DTVn5SypT lViKMxINtZiLihMB+7rekmcCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNLMWRmVeSWpSXmKPExsXC5WfdrKvEvD/dYOcqIYs569ewWXze8I/N 4uv6X8wWTz/1sVgcnnuS1eLyrjlsFvfW/Ge1OL9rLavFjqX7mCwuHVjAZHG89wCTxfx7n9ks Nm+aymxxfMpURovfP+awOfB7fG/tY/HYOesuu8eCTaUem1doeWxa1cnmsenTJHaPd+fOsXuc mPGbxeP9vqtsHotffGDy2PrLzqNx6jU2j8+b5AJ4o7hsUlJzMstSi/TtErgy5t75xFrwlK+i e29CA+Nsni5GTg4JAROJ6afbmEBsNgF1iRs3fjKD2CICZhIHW/+wdzFycTALLGOS2HuigQ3E ERboYpS42dIEVsUioCqxe+4hFhCbV8BU4lD3TiaIqfISqzccAKvhBJr0adoxNhBbSCBZYufv P0wTGLkWMDKsYhTJzCvLTczMMdUrzs6ozMus0EvOz93ECAzSZbV/Ju5g/HLZ/RCjAAejEg/v gzN704VYE8uKK3MPMUpwMCuJ8HJm7kkX4k1JrKxKLcqPLyrNSS0+xCjNwaIkzusVnpogJJCe WJKanZpakFoEk2Xi4JRqYIwWv+aq6KWR/q7FW7r5JTe/wtzj4a17FKOdKm5tMBJ7ynfwhdLj LObJBpduTFbqtjNdoTs3LCE0SeLboY/aP2fOS10g4vTbWbBr4USheM3r3xKWs1SYnuU4/j9k iWvjP/G2C1dT5wqmpxSpnlnx2sO6KGbGulQ7YXV/z3m2V1x1zv9fa/1qlxJLcUaioRZzUXEi AHikbm9OAgAA X-CFilter-Loop: Reflected X-Rspamd-Queue-Id: 41E661C0002 X-Stat-Signature: w5mtg1wc61b43a6gto1mgo4rr8y9s3sb X-Rspam-User: X-Rspamd-Server: rspam01 X-HE-Tag: 1740571427-252302 X-HE-Meta: U2FsdGVkX1/ZvtCDem3hZbL/nMjpVMNrP7EbzWvl2NfmkZgmVtado7vXAx8tpCwOT9Mo/A1kuf5OSnnntmPtwO1wrc8q/IKDDsUwj93FUTkB5oT/f/15TreDydPMz8oti+hsOSNxYOEvBBcbKqoP/i3F5Rj0Mfhv/q6KbbYZFb+W007HJSJPaS7+lVELf9nuXQaOpHQOd2I3xvQpFvgSKQDH92jdHAQR1S8/udffnutQwnAZeBxUftnfWo7h/JttsIewqoHtgVECZhiOfIZW8Zk6RQPtBwDrs9whi/3L7LQJjhw6A14Qo55C74zi1h5yZUCVdwVkL+DnDI4NXp9a/wa46o7RGxD6NOdNINdPXNlbqitVJrzm33V9Uahe5r34L35dSNSfDa13AmAKQVrNycVwq6/S3R8UrYawjzilu6ncdY3JUX+snd2pfJ4AhLyqm1sMS0S/Ax1wEkxjcrsfhbbly3d1/3OLVxY2hIhzeDmeJ5+P4yju2EbWMfXRev850rewH38GJp1MXYnWdYAamNXLXgGQd7F2BiFh5W6G6hLhEApREwuE1xtdw6s3TCFAlL0mJyrdtYocSuKU9YSIj4UaWZaJAZRfa52LYYxhf1tTKxJ9W0TQymO4S3XqwMH6HMoqyr6mq3KHbQUhoENqXKoQCWB0L+i22hwlWRBNU93Bb8lKYNqkyXxYESxMEAZcJCghlLXx159bclYgyCH+ABRbip6ckcVT5XJX2VaOZhchvo15epOdp2s7jCEZ9TvyFBAMIeCWM/qM9u0IxCdX+S0hspr587kc3mPMJkETauZedcaKyv0l2Jc/ysLR3NoiFMoURsp3plLE4unlCHAfTt57+ivMxGQW1KExJwN8FtE+kmwVu44bUm/XVy+LmuUOtgTFXIDDuMbAadv5d/YHMubB5689LYbqMnngYHJxU0pjGfS6fCRUjTYve+BiUX6oaLoRXKQU/EGJxYo77AD GOsegROu XT3QYihV6NTCsRZQEkX8rZT6wfFqcAn6gFWx8 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
[RFC,v12,based,on,v6.14-rc4,01/25] x86/tlb: add APIs manipulating tlb batch's arch data
|
expand
|
diff --git a/arch/riscv/mm/tlbflush.c b/arch/riscv/mm/tlbflush.c index 9b6e86ce38674..36f996af6256c 100644 --- a/arch/riscv/mm/tlbflush.c +++ b/arch/riscv/mm/tlbflush.c @@ -201,5 +201,4 @@ void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) { __flush_tlb_range(&batch->cpumask, FLUSH_TLB_NO_ASID, 0, FLUSH_TLB_MAX_SIZE, PAGE_SIZE); - cpumask_clear(&batch->cpumask); } diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c index 6cf881a942bbe..523e8bb6fba1f 100644 --- a/arch/x86/mm/tlb.c +++ b/arch/x86/mm/tlb.c @@ -1292,8 +1292,6 @@ void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch) local_irq_enable(); } - cpumask_clear(&batch->cpumask); - put_flush_tlb_info(); put_cpu(); } diff --git a/mm/rmap.c b/mm/rmap.c index c6c4d4ea29a7e..2de01de164ef0 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -648,6 +648,7 @@ void try_to_unmap_flush(void) return; arch_tlbbatch_flush(&tlb_ubc->arch); + arch_tlbbatch_clear(&tlb_ubc->arch); tlb_ubc->flush_required = false; tlb_ubc->writable = false; }
A new mechanism, LUF(Lazy Unmap Flush), defers tlb flush until folios that have been unmapped and freed, eventually get allocated again. It's safe for folios that had been mapped read only and were unmapped, since the contents of the folios don't change while staying in pcp or buddy so we can still read the data through the stale tlb entries. This is a preparation for the mechanism that requires to avoid redundant tlb flush by manipulating tlb batch's arch data. To achieve that, we need to separate the part clearing the tlb batch's arch data out of arch_tlbbatch_flush(). Signed-off-by: Byungchul Park <byungchul@sk.com> --- arch/riscv/mm/tlbflush.c | 1 - arch/x86/mm/tlb.c | 2 -- mm/rmap.c | 1 + 3 files changed, 1 insertion(+), 3 deletions(-)