From patchwork Sun Mar 2 14:55:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan Roberts X-Patchwork-Id: 13997838 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 1CC5BC19F32 for ; Sun, 2 Mar 2025 14:56:12 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 261346B0082; Sun, 2 Mar 2025 09:56:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 20EA76B0083; Sun, 2 Mar 2025 09:56:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0FDAD6B0085; Sun, 2 Mar 2025 09:56:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id E61F66B0082 for ; Sun, 2 Mar 2025 09:56:11 -0500 (EST) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 55493468F0 for ; Sun, 2 Mar 2025 14:56:11 +0000 (UTC) X-FDA: 83176911342.28.3910055 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by imf29.hostedemail.com (Postfix) with ESMTP id 8BF6B120005 for ; Sun, 2 Mar 2025 14:56:09 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf29.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740927369; a=rsa-sha256; cv=none; b=rml4g7074Iv+UC20kTA+RxE0ojXKwFuRMaX0bslvhRcOYSpUreZ3jBD0ewk5HLMGyn/iX0 S9JlUaWAELZEyq/X62pIbDaNh5hIahrSwdhTkd0Zw4jToXYiYA7tDlVUx75c1036+WGHSy 0OeTnf6VbHq6yLri/drtNUqk1d43fvY= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=arm.com; spf=pass (imf29.hostedemail.com: domain of ryan.roberts@arm.com designates 217.140.110.172 as permitted sender) smtp.mailfrom=ryan.roberts@arm.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740927369; 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:references; bh=cPqBAuT1SSfLrqmqWJ0lDGk2dXHO4fEtgO5IuuVFPfo=; b=Lxr4FRC31EwVvUwFX3lhp1fhES7FjMnbRSxasLZYTuxicaReID9BJJmlqj8xDIZwHUKXVO oD5Kn0kLupgKjD1QYKNbyYtghmYCpN6kb5MMdrIvP8914WKxE+8Zr84PAfeC8ZZsGPXs1s v58NqFKM49HsqlTe9NiuRRc46tUifrQ= Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F1AA2113E; Sun, 2 Mar 2025 06:56:22 -0800 (PST) Received: from e125769.cambridge.arm.com (e125769.cambridge.arm.com [10.1.196.27]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 294533F5A1; Sun, 2 Mar 2025 06:56:06 -0800 (PST) From: Ryan Roberts To: Andrew Morton , "David S. Miller" , Andreas Larsson , Juergen Gross , Boris Ostrovsky , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" , "Matthew Wilcox (Oracle)" , Catalin Marinas Cc: Ryan Roberts , linux-mm@kvack.org, sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 0/4] Fix lazy mmu mode Date: Sun, 2 Mar 2025 14:55:50 +0000 Message-ID: <20250302145555.3236789-1-ryan.roberts@arm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Rspamd-Queue-Id: 8BF6B120005 X-Stat-Signature: fosho1hytgggh6xuqirrrhkip6zkbidx X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1740927369-677708 X-HE-Meta: U2FsdGVkX1+p9LoReV8nbekI/mve0FSGi/imT/gIRKhPQYefiXmP/asMo2LnHGD06KMhe5a7wS2ffiEaNCSI0A6bpWJPJ7umknGjBRAArTJ+585bfVTj6Sm+gc0JAlYFcdeREM9YubMFGcvc/HUDwR8wZmmb2Rx1qZFlom109QDvsXyD60mnH6gDwHL6L+IFnMNtjAns2F7Hh4d3/cuxORucJoE6ZmGmOycCiy4IuHTlWOVy/t8Xodu7unRbBfnQI+y1buVTbE8iiw5mQC/OjOXkK4FnDrMG+Nz9W7xiBFLuoFKsyNJb268cqbnUBYZP28orgIFaAYU4wsMrq47VhgG/YSBXWSzLSqY4/GG8luhd8D4pSipkB2O4IQaz8wKCqLzOAEAgSdmIkv5BfSdPQL0pG9F87RZhLpzn3S5+CjywjWALYZ369FDTkuAcBT5mejJi1zQX4WIaFtbFoFFGYV+cLG5QN0r9k499KyJdUNuPd0kI4DGco5BQElcICb7IWLG+UwFChRLzSCJeWkRoys7qRxXUdrcVw7hqkCvOwJA+BECgHJBKuEX5ZiIcsTVtFdk+wTaBSIs/4WEbRc2f5z2s0M15c/glsgM08O7ViLyLmCq1Jci/Yqyn+1pEtPEelxPJ8kfqinPmBHm4O8lB23qq+1X7AHxgNI/8Q6/PdAW/eeEZmtYsUe3pmWGDZ+8bZc8Syx8XmCGYpFih8ZuDrzoJmJcf14JcW/yV7Hv9aqcdx5YvJgebK07JYNi9eL+TUOmwYK+/YKRxYHrmQVlwfBfFZxf4uR011klUKExW37NOsSSiIN4asBlFby1kgF5kpgVm+UmHv1rehcw5EZyRj+N583YjBilDSt04SlnPRG/vtKFsZ/5ReUiIvYYrSYZoKHuFqrt5kc8UuqCmMVMcLb25s7lSwKLuuHTG282x7vV34feGIMlQEGzOUssCA5L+DczowOafr0qHmja6NF8 OYoWhuAA YBKjNyC17QQhwLDu0DIoJz43ZKbnhcFOrOBu/fBN8OivCg6eS9mqvuPc24Xh1dvz1n+wzw20QaMktQQwhXBRvapsuSjiKSmNszGPd 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: Hi All, I'm planning to implement lazy mmu mode for arm64 to optimize vmalloc. As part of that, I will extend lazy mmu mode to cover kernel mappings in vmalloc table walkers. While lazy mmu mode is already used for kernel mappings in a few places, this will extend it's use significantly. Having reviewed the existing lazy mmu implementations in powerpc, sparc and x86, it looks like there are a bunch of bugs, some of which may be more likely to trigger once I extend the use of lazy mmu. So this series attempts to clarify the requirements and fix all the bugs in advance of that series. See patch #1 commit log for all the details. Note that I have only been able to compile test these changes so appreciate any help in testing. Applies on Friday's mm-unstable (5f089a9aa987), as I assume this would be preferred via that tree. Thanks, Ryan Ryan Roberts (4): mm: Fix lazy mmu docs and usage sparc/mm: Disable preemption in lazy mmu mode sparc/mm: Avoid calling arch_enter/leave_lazy_mmu() in set_ptes Revert "x86/xen: allow nesting of same lazy mode" arch/sparc/include/asm/pgtable_64.h | 2 -- arch/sparc/mm/tlb.c | 5 ++++- arch/x86/include/asm/xen/hypervisor.h | 15 ++------------- arch/x86/xen/enlighten_pv.c | 1 - fs/proc/task_mmu.c | 11 ++++------- include/linux/pgtable.h | 14 ++++++++------ 6 files changed, 18 insertions(+), 30 deletions(-) --- 2.43.0