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 E4E43C04FFE for ; Wed, 8 May 2024 19:20:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 612F86B0093; Wed, 8 May 2024 15:20:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5C32E6B0096; Wed, 8 May 2024 15:20:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4643C6B0098; Wed, 8 May 2024 15:20:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 24CF36B0093 for ; Wed, 8 May 2024 15:20:39 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5179CC0CD0 for ; Wed, 8 May 2024 19:20:38 +0000 (UTC) X-FDA: 82096195356.24.BD4D1F6 Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com [209.85.218.43]) by imf03.hostedemail.com (Postfix) with ESMTP id 769A820008 for ; Wed, 8 May 2024 19:20:36 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=SqRejkkG; spf=pass (imf03.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1715196036; 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=datyv3e5LLeWOM64wvZ1mfI1WId3P2rVazcirFn2Oxk=; b=Mq5OPfzcHiQvpeBmbMr5IPbF/qsvlSFNEmDvs58ZA8WtLEnyh4KfxrOeaGOfzBnYWD1287 +rNBQK/wRDZqF8FrLX6OpJdWaUFD3qGC7dtMOAtfZtZaVJUia2hVSbDES7xbAYk2DWDGPm zFLZWdFbR8RjZQKEIxy62OFvErSc46A= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=SqRejkkG; spf=pass (imf03.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.218.43 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1715196036; a=rsa-sha256; cv=none; b=NqN4X1GPN/RC0YWbx0/iNpennWAFtp8p/m/TpuU9F/XoWdSN8JozgOQbpXL67XAyAooibJ RFXUd64WNvdsrIdk6OI7xLDFcXc4+5VcolOiLfaobtwVEBTjPF0gxTMveBkhBv56wtNgA5 cxPlFSovpVNVBKn5eOQpF9FYS6/8iPc= Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a59cf8140d0so20571166b.3 for ; Wed, 08 May 2024 12:20:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1715196035; x=1715800835; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=datyv3e5LLeWOM64wvZ1mfI1WId3P2rVazcirFn2Oxk=; b=SqRejkkGM8sx1s0h0nncPnhR7M0bkDhVNWMzdf7Dte/botXJ8Hhtd+C33m5c6Z0ppS gq77Ag99mhFWeyOWjdQdSsEZcwP2hH63rs/oOJBtJSXrXT+4uTfJ7fU4Plj7wvJfTFu/ +0+CLejNvHj4amE2P6Pvj/eLJx2YmMjGny7rEU8r5txqjpC8S0p0eHuiW32hrXUPzbJt v76ZslVLcq2S7GceJIdLq25hUp0DoL0GdslWPm6f4f4fRNVDhH4Dr6kDxFkr0G5CNfsv vUhD0BkLjGhAV5QHZFann4AgLtFw8Air5gbnEw2P3eJdZiFqujASCdZhVqWKsbjLKmms ML2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715196035; x=1715800835; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=datyv3e5LLeWOM64wvZ1mfI1WId3P2rVazcirFn2Oxk=; b=ozwD6kMQSUNO6aNSTH6fhxuXU9H9T6LGg2vzkBJXFUlQCU4RIpw4l5huGsTOGRmCKi 1TL2MDmSy4qNN79fRj9z8pY5+116JJL26AaTTfPF864kDJJR3i36vJUazke9JjL79jz0 OeS7npd34RMiwVKvl0WKhk3NgEfhsyJuPdW0yTwT+cd1ZsYAkYOQcMiJ/NPySZ3pjS5b +Ee3z9u8K4RZdNFYI/vpzGu/rHpy0ShmgiC7gxKlb7GCxGcrDKpaV5ruq8y7DiXeyn3z y00dufDV1IyMMS/wwCQA6UOSd8uOFOycQ7tVqew4DFBGlEjiRLm1YFKmzJXZXdelRG97 y8bw== X-Forwarded-Encrypted: i=1; AJvYcCXHwP+cpuCOC4C0j2nSiERE4gDddCbmu0OXNFIWcpffOgIe5CEyLYtCOpoDMu74D/pDp87p3g5xFsEcV6zgFxuRwFg= X-Gm-Message-State: AOJu0YyrlnALEOW5X/FUB02ZNdP14IQHH+qBOipeGT/lrOsK2sF20e+Z hCjb+1lm6Pvc5w7dC02ZzpUtdhu/Gx0TWZUa+5ds6nro70U6x042V778Ma05isg= X-Google-Smtp-Source: AGHT+IFPtUz+3X9HHx3rOZWYiSnLgxFfxDjotG1sGB7J9SeveUOh2JXAABXt+ni1vfq6RI0lDXdHfA== X-Received: by 2002:a50:ab59:0:b0:570:3b8:a990 with SMTP id 4fb4d7f45d1cf-5731da6977emr2508293a12.39.1715196034646; Wed, 08 May 2024 12:20:34 -0700 (PDT) Received: from alex-rivos.ba.rivosinc.com (amontpellier-656-1-456-62.w92-145.abo.wanadoo.fr. [92.145.124.62]) by smtp.gmail.com with ESMTPSA id g17-20020a056402091100b00571bbaa1c45sm7881992edz.1.2024.05.08.12.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 May 2024 12:20:34 -0700 (PDT) From: Alexandre Ghiti To: Ryan Roberts , Catalin Marinas , Will Deacon , Alexander Potapenko , Marco Elver , Dmitry Vyukov , Paul Walmsley , Palmer Dabbelt , Albert Ou , Ard Biesheuvel , Anup Patel , Atish Patra , Andrey Ryabinin , Andrey Konovalov , Vincenzo Frascino , Andrew Morton , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-riscv@lists.infradead.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-mm@kvack.org Cc: Alexandre Ghiti Subject: [PATCH 01/12] mm, arm64: Rename ARM64_CONTPTE to THP_CONTPTE Date: Wed, 8 May 2024 21:19:20 +0200 Message-Id: <20240508191931.46060-2-alexghiti@rivosinc.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240508191931.46060-1-alexghiti@rivosinc.com> References: <20240508191931.46060-1-alexghiti@rivosinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 769A820008 X-Rspamd-Server: rspam06 X-Stat-Signature: 7buu748ykp3fgq1kejkayfuwmz6bedey X-HE-Tag: 1715196036-316996 X-HE-Meta: U2FsdGVkX1+KADS95n2JDFw/9HarMfTBlYZ1J5+fvHBuGHtELgTy/8oXCVtoHCafctNscAN5cNMtQcFPXpPmL7fJpZgkOCKVkrOeimgr+khNVoARYHs541S/DMTBp0z4fZXGnkAbvlaNbFQSL9jtwJ9A8gktfL1vtu7z7nJRjJvDK8exTCHlj59KVc6MUB0gqsA+9oT0UUg+/B69ig6Z2MR9VK4Q5AisNrsK6+/wI5jP8P5W3GpYC6BlqEZnxxYAxRfXYanWLgv0gqmR8ILyX1zVx4+ANax/FGqvMRggczfUlRdZOBmicmhgcqS4Qgszl0p41SCv09rX9jrmOz0sfqVm0d31YrpyYcUjIjGto4kJTYh6fuEwJoV+kxOnwTay3Eh/m4gwptoj8Ucy9ufOur3rugg8rddvqSvlcV9sXM9rZmv+DaPM9SO9OLgJoOnqXTKNC7VMan1PEgkRkawvc1k54o+gDA11hovPkSoNZA89CLwzUYqf5hBvpo0TPekoN04lYGMbdacYvyUKk1mydDla7IC/F79ts8FhIab66c16GmwFW0k0vluTpeAeSNDq5RiDpAwliUqEXuPwcrWyqfPIZ+bodnWbAVo8iM28ux9fzRezVy6s9jKGQBRo9GH2Ndfn62IIW97towJEM0AafAI2dsBc8rI9v0ZvAz/XaNH0J8JWFuXjA+lgB2AQ5G7d3SF6e3FTrV/t+jcSKU5iAmpjFW9hHC2o3dH/SILqCvg6nDeuf/8YU3NuW4swkt7nH2W8SHBWrUyY7/JqM4iCjpEmxrSh5xtSgQcjkVB0TCRJpOrCmO2q0dVRzUpQolrx7oD7pWIG0yo/baHAWR8wuKXX+zDt5r7GDb2rKK3CV5nP5c4y6G4dAr2BVS2ANSEMVhmW8JGO3PNSM8ekpmbMkoIcTLk60QaIrptJ/dhyvfEBGMKaE+lvLftStuYsq2NRPcInqBxgCGxn4tg9ASV gNPF3e3D KtPkCG4FMD+ijRYlSZ6n9jUBM/emGoLKH72adwOjSE7mOG80/DhID0+eTRe9Om4ojabWJbIrtMXdGN9lbabQ+dDaCoixTtrgpxD73hbgPmq2XRfHjUdiclLhFsVxYqp28ojYuoLiy+uPaKrZFVpNVz+WKxJaDaM/BYc0L1SfazgtG4z2NbY+h/zjbLCx5dIkksRSLOqKqCg29tu6jcoMuDcD3Sx7U520Aj+2mX2N21ZSRkQZ1Sf8mvW43xWGwbRIY3m1H7pj7ixKQ9Z/lm9kmTxxMUVO3tLO2nHYgiNrezUrt9WNcb04/sM5+iCpB/HB4ntRAWzPra4GJTOCSv5i3hyoTKJ9bsK2lrDC5KuBjeldVGbEcBefSr2uxkpuVi/mJBXNG4n2eiqylU09L+L27b7n75oBS/EEEAvGk8FzjlLus88R6bb2IEe3skDgZHFFS69ElR9VcGF+pi0EBsmNwQ0rhDK7/V93QhovDY+EDCBpBOuUgZLNVFkfvKqrIateTVPeMRgp0Z6QpTzXI1k0aYmZiH4EWl4VOS/IdAkNRsPSqS/+hC+Fx/x1mFw== 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: The ARM64_CONTPTE config represents the capability to transparently use contpte mappings for THP userspace mappings, which will be implemented in the next commits for riscv, so make this config more generic and move it to mm. Signed-off-by: Alexandre Ghiti --- arch/arm64/Kconfig | 9 --------- arch/arm64/include/asm/pgtable.h | 6 +++--- arch/arm64/mm/Makefile | 2 +- mm/Kconfig | 9 +++++++++ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index ac2f6d906cc3..9d823015b4e5 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -2227,15 +2227,6 @@ config UNWIND_PATCH_PAC_INTO_SCS select UNWIND_TABLES select DYNAMIC_SCS -config ARM64_CONTPTE - bool "Contiguous PTE mappings for user memory" if EXPERT - depends on TRANSPARENT_HUGEPAGE - default y - help - When enabled, user mappings are configured using the PTE contiguous - bit, for any mappings that meet the size and alignment requirements. - This reduces TLB pressure and improves performance. - endmenu # "Kernel Features" menu "Boot options" diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 7c2938cb70b9..1758ce71fae9 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -1369,7 +1369,7 @@ extern void ptep_modify_prot_commit(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep, pte_t old_pte, pte_t new_pte); -#ifdef CONFIG_ARM64_CONTPTE +#ifdef CONFIG_THP_CONTPTE /* * The contpte APIs are used to transparently manage the contiguous bit in ptes @@ -1622,7 +1622,7 @@ static inline int ptep_set_access_flags(struct vm_area_struct *vma, return contpte_ptep_set_access_flags(vma, addr, ptep, entry, dirty); } -#else /* CONFIG_ARM64_CONTPTE */ +#else /* CONFIG_THP_CONTPTE */ #define ptep_get __ptep_get #define set_pte __set_pte @@ -1642,7 +1642,7 @@ static inline int ptep_set_access_flags(struct vm_area_struct *vma, #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS #define ptep_set_access_flags __ptep_set_access_flags -#endif /* CONFIG_ARM64_CONTPTE */ +#endif /* CONFIG_THP_CONTPTE */ int find_num_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, size_t *pgsize); diff --git a/arch/arm64/mm/Makefile b/arch/arm64/mm/Makefile index 60454256945b..52a1b2082627 100644 --- a/arch/arm64/mm/Makefile +++ b/arch/arm64/mm/Makefile @@ -3,7 +3,7 @@ obj-y := dma-mapping.o extable.o fault.o init.o \ cache.o copypage.o flush.o \ ioremap.o mmap.o pgd.o mmu.o \ context.o proc.o pageattr.o fixmap.o -obj-$(CONFIG_ARM64_CONTPTE) += contpte.o +obj-$(CONFIG_THP_CONTPTE) += contpte.o obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o obj-$(CONFIG_PTDUMP_CORE) += ptdump.o obj-$(CONFIG_PTDUMP_DEBUGFS) += ptdump_debugfs.o diff --git a/mm/Kconfig b/mm/Kconfig index c325003d6552..fd4de221a1c6 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -984,6 +984,15 @@ config ARCH_HAS_CACHE_LINE_SIZE config ARCH_HAS_CONTPTE bool +config THP_CONTPTE + bool "Contiguous PTE mappings for user memory" if EXPERT + depends on ARCH_HAS_CONTPTE && TRANSPARENT_HUGEPAGE + default y + help + When enabled, user mappings are configured using the PTE contiguous + bit, for any mappings that meet the size and alignment requirements. + This reduces TLB pressure and improves performance. + config ARCH_HAS_CURRENT_STACK_POINTER bool help -- 2.39.2