Received: by 2002:ab2:6991:0:b0:1f7:f6c3:9cb1 with SMTP id v17csp711663lqo; Wed, 8 May 2024 12:20:48 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVKqKRnkM2XxC56+T7Ay6/oC9FmRYW7qi2yf3hNZH5G17ppaK2b8DzZ+RJLQUiSEsSxoJJf3/EfDBTWQEmRQJ/dxbqxo0T+plWl8JU7RA== X-Google-Smtp-Source: AGHT+IE5MTQQFm2sPxVvuqJHMgTVq4jwoCW3KXoDt+qoMrtSDLbuii+g4K81ekyorAfH39eZze7K X-Received: by 2002:ac2:4c86:0:b0:520:7a44:3f30 with SMTP id 2adb3069b0e04-5217c372cecmr1996165e87.16.1715196048558; Wed, 08 May 2024 12:20:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715196048; cv=pass; d=google.com; s=arc-20160816; b=ajqO48b1UKvaRKAeNiO7RWgApLImOCmtJ13KHE+2f7Gb5sWnUAIbY3O1WDCAgcHF1N zH3zSB518ycT710XmuwPc7cA1tAqCUjeHf83y19XJ+SICUfnMb2kQXU4H+qMNjjf/yJN tC4vmvkBrWBdQzuEeXyDAI3cJPHetSdXa3Upb5wgxCxYxXCzvvD0fnyjZ0s+nAfYpdS3 gJjpHr5Sz94thHxNCRzStbkxq/Z4gXtoEYkxtYFIlddEcMZF8gNkbZRi4k9silLIuJnG 8YFgruod/lcB9x5C4Y8kmy9jE5X5zTJSi443A4RfqweZ7ufDNxLsEIMugpgQdfBLXamQ sPlA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=datyv3e5LLeWOM64wvZ1mfI1WId3P2rVazcirFn2Oxk=; fh=atzhTTSkF6WjG+WyCOoZI9SUE9FS6mKa1UCjdn7YOnA=; b=kWgqCjR2s5uiCmKa1NdN+F7lgBFhCS34tp1Xr6THBkIiTMhAdn0EdlPtGDqMuZXywg TERKX4BmiHsHW19B9iLzuGDUaVsvlocFUGXa62OW0nxdzZgzWqTiP43PW0L5pL6YHA4D 29PLE7cAX/btRV45qvd2pdaTq3qODK+2uE1tevdb5H+AubLFJEzY7Q84K0huRm2Qkp8l Y1AiDf6JSWy8yqm/sDNImITwNCLOw8joKtr1/IMVEUVVW/z92e77z6JGI9byer2w1jUG 5x7uGKIED3VuNgGaSeI1mMGUhhG1ACzY4erlS3GVwUyO9LGp4njL/XHsJPDmLU9vdJWN /hIg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=I1lNjoCD; arc=pass (i=1 spf=pass spfdomain=rivosinc.com dkim=pass dkdomain=rivosinc-com.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-173747-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-173747-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id n14-20020aa7db4e000000b00572a201ca34si7487298edt.436.2024.05.08.12.20.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 May 2024 12:20:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-173747-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=I1lNjoCD; arc=pass (i=1 spf=pass spfdomain=rivosinc.com dkim=pass dkdomain=rivosinc-com.20230601.gappssmtp.com); spf=pass (google.com: domain of linux-kernel+bounces-173747-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-173747-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 1CEAF1F224A2 for ; Wed, 8 May 2024 19:20:48 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B64FB130A5B; Wed, 8 May 2024 19:20:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b="I1lNjoCD" Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64543130A43 for ; Wed, 8 May 2024 19:20:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715196038; cv=none; b=oqjx8G/7WHrmE1S2qmWOhawnqzB6PCrXDcd/L1Gna78HcspNQix9+gADxvjm1BMNn5Iylv2gAiR+JlZcyU/JhodWlR5S5HRJ+G/Rwnz1ta8k/jZoUwDWlzKHEGZov7Un1Iu3cKmMjUFWad4wh8Y5EmD264ZI1ICxnJbMgq+u4Po= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715196038; c=relaxed/simple; bh=FoZejGjVu6xSGrwnf33XbNrHlqZcyAhpfO4l41aIQlo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=vBK1m97A84URVQuhDknRAhq545adSzVcc2wJ3o1KTDsb+V1IEE1W4cnv9/IKUhKXpHOBENrnAh6bfjeUkwKlKXfsQVPxX38m2uzcZDqh+wKczPaFbpxdYVk6jiRLStlQkfAfftMjvPWY4ZqnFe+t+xo4ZnQRJcw3QAjy+3ilxjI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com; spf=pass smtp.mailfrom=rivosinc.com; dkim=pass (2048-bit key) header.d=rivosinc-com.20230601.gappssmtp.com header.i=@rivosinc-com.20230601.gappssmtp.com header.b=I1lNjoCD; arc=none smtp.client-ip=209.85.218.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-a599eedc8eeso24302666b.1 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=vger.kernel.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=I1lNjoCD72gBUVObLHs76CJzTPKZc7k5iL1rpuIPV22aJSTdrpDAlX97gZwBGa4qFn Cf9GJaIDZrI/DVqjXkVNyIaEgtYHeqid8h7UG8Po2Z8bkM6L38LMYdMVamhrNAU+jjeI klvRLaY/sezIdh9yH9iu8WB/chokTJFxOmsxXSjWSfYXr7MKnY8qLZDhBSln2yZ51YWB OumeqVwTPnheEG5WiLndO5P9MYe5g+nO1s+4oVx71SXB3WXOrM21yKrtStkpP0rERFPf 8wXpXlMOvxtZXxdFHPbelpaQEoug4gI9QArE/ve8fOR7Hge6TRdvIPYm6ckJsqq1xdrd U7Uw== 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=X6I2BwvDlLY/SFUuufIpgabxp6YK1+x0rmFcEcTHdKOhUarVjB+mwd8OiZFiDruyBL BxSlr58gx75zP3JWocqAOAvpm/Q7NBwnJrhU7kujojcazrTEJrE35AsX/hB9uGA7nHGG mbQVqLKeHvusj0yMgwBnf+F/8tklav+hJMTvldIcXzw5z60fg+QCEBJj5WLniODrOgIs S7pySDzkAW6VJISPqr95esOD/xgktCqfg1Gv/sT+iMveDgEbVhRakBTjoOXtIPC332o3 rIEEYi4/A5wyALfsBPV3pHK8Gb3m/GPcg9qVVEDNml4deyZcLuVrO3GtYtaIREnR2s6w VNXw== X-Forwarded-Encrypted: i=1; AJvYcCXr7G6VOwfl5LXR7gU4FZbIBE9pz09E1wcLG+VbYeMgCe7rJ/9+r1XZC7n46KGXgcZZBA12Hw6n/4+VpI/xxOAAMaPfBbcXKcqyneEX X-Gm-Message-State: AOJu0YxSfogp4IvIywaTUi95bN4A8TAU9VSS1aibs7mZdcEuZEPmmp3r DntM7C6RF/nmNPxFL/zFnpJGIlL83qG3QqjtUqPJfs8mbQLw38UL+TGR9p9UCnc= 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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