Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp2031023lqo; Mon, 13 May 2024 06:09:44 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV3/gw1bcuJajcqoSqCB62LkMt2MJA0L3zxX5f3X0NRNnxEwtR+wasxqfljddamYKrmrD4jf9ewuze31ytkEiQba9dLMbCFvQMpaNfgXA== X-Google-Smtp-Source: AGHT+IGGBKWwiNka3hWREqAoddTcgUmfY60FVUAlJ84XOzw8xn0kyh0PpPs1D7XihNY6ynmKm4E9 X-Received: by 2002:a17:903:583:b0:1e4:df0c:a570 with SMTP id d9443c01a7336-1ef43c0f596mr94033005ad.8.1715605784165; Mon, 13 May 2024 06:09:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715605784; cv=pass; d=google.com; s=arc-20160816; b=KWSnu5GtIcAV6EUXWpOdSHeu8tKeopyDaQRqp7T3UFgWVtqsvK8iVwvb9oFsFoNJno p3RA7Dq0HysCh3HR1A6zOiM3RdRS+T03I4ZouofDUUUWkfAeIIZeqDPRrvk6mvyfvxf+ UojJEoYScAP3u9AfzOZO0SI2qL/J9/o8qF0SJ6Q4GYKzahTGyGKsO77oL3/ikOb1u1aK 2dRzctxQJNkTGLxUPSF40homAMqDsufIkfGhn2em9n6MIdd/K4F+7Gkcjdr058TAFY0L XvoLEi1bxzLCGN/OBW+OZOqmEUhTKu0Ljvn2o6l/kuwCpLKeizpyDB0LsmvqTXYMNtrU XDOQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=5MKXjMChMNLDQEAHfT5KxNeT5FU7Py9gH+YOnRbraDE=; fh=x7DjFhxJ76r3KoBjs5VPqw4NdIjXAUEGSC5Osd4D56E=; b=kvPoP6NpIYJXxOaEUSeYKrOtafGZF9yte3xfNL32pzpeLee19X99AJ8V4Sd2NLflKS ZWxSLQDMRZOf6C96dqyCWP2NJnZ1wGpw9oisGjXKSfVcAOdv0TamBqIq+NYctX1llFVS ubSPFbk2GODkKdUQQ6OjXD3MAOtF/fhc3Z1UxZW22OnfxcLE7bFB9mrryuOZKkB86VT/ mK+STvVa8EuDB3WP5T293R49f9704MbtHeoyknFaU52202YNAsgd3+WRxQG7kxkvBoOF EKPUl61YbFahyc3qPELNAUZ43Qr1hcehgw61tvgOCnvZxbSQ94B6/p9iUxrGttQan5v9 44JQ==; 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=oIWNTRP8; 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-177609-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-177609-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [139.178.88.99]) by mx.google.com with ESMTPS id d9443c01a7336-1ef0bad795dsi88280695ad.140.2024.05.13.06.09.43 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 May 2024 06:09:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-177609-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) client-ip=139.178.88.99; Authentication-Results: mx.google.com; dkim=pass header.i=@rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=oIWNTRP8; 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-177609-linux.lists.archive=gmail.com@vger.kernel.org designates 139.178.88.99 as permitted sender) smtp.mailfrom="linux-kernel+bounces-177609-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 sv.mirrors.kernel.org (Postfix) with ESMTPS id BFC00281177 for ; Mon, 13 May 2024 13:09:43 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 43B181514D5; Mon, 13 May 2024 13:09:31 +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="oIWNTRP8" Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) (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 8F2011509A7 for ; Mon, 13 May 2024 13:09:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715605770; cv=none; b=A0dY/bpVQB2d3hYtVwR+7jZJYpCslM07fRmvathvLJs3XjwBOLZTE1bCjEqPuALF3F70FbkGqXApjKcHEk/+BSUL4BXfKGeTwsdWkYkG8v0rDv5rVUQJ6I7ytC25Jlf4F0wrjv6sPXJFMGYYlpvf/fyLZan+yi6X2CfUKHcxCoQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715605770; c=relaxed/simple; bh=zpZGnwRw0RonuhIC/M2/86imsc5RbcnkegqTXx4M9uk=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=XqJSX2mcQJj3zM1ACbHZFjmP4umLwl22M2TzmOdzPwlg8D8DNIjlWLjdhX1vo0FQT17h7gYtlqkNpx3LIrq+/a9vQg9FZV+obONzPeTBEYZX/oWALhURIUzJNG8jXJRYnTihp2zg2YRgm/O2fhA8vtUOiGb/K61IkF1sJlJn+6U= 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=oIWNTRP8; arc=none smtp.client-ip=209.85.218.50 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-f50.google.com with SMTP id a640c23a62f3a-a59cdd185b9so918761766b.1 for ; Mon, 13 May 2024 06:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1715605767; x=1716210567; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=5MKXjMChMNLDQEAHfT5KxNeT5FU7Py9gH+YOnRbraDE=; b=oIWNTRP8SAX0NgR/uD+TIJzKATCaaMFzSHJ+PA7E8BLMewYu3rxPP49ebk9L0A5CN0 xBVOMnjSiKqfsCXXVHbPIPskRV/Zyuj7y+P7uViP4linF+aDvfrEveEhj3HbE1ChGtoQ thiDKPrb6OoUw/bvxZfreqsiskOKai9vIiZ+E/fs/w3p43Uyc+2sV4YAnZ4MkKaPfU7q weQV34JkQCcHq8DAbTsuRw/J5YTnuT1FFGLXbeiz5D2jxGQCyHn5F4WNxFGbQ9qncg2R 2v5iOUH6qcD2jspHpO7y4+yyHhMIMUyLsOiWqXWYGLSOp8odBBGc55Trcyhym/YaLC0f DCvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715605767; x=1716210567; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5MKXjMChMNLDQEAHfT5KxNeT5FU7Py9gH+YOnRbraDE=; b=wBBVv2DJMoLEflnwaYZ+1dKwHNPbaSunPUUjJuyhQTXYCZsNcQj5OJCjOp1YHsrthH BsUXG37p2ZnE6tGDRndgxf2m5OtBRMry8f3HWU1yPEBo69JoJumcIar7gKtTq8Z6XLYL PFIZ4hY5n8NiglAXBtJSKQEFJelFE4jwE53vUsyJX7T/syFe0jCoPlIHv5izLqUQ8e3K Jvl25qypEcbnIbJ+I7oT3piY85CNvkbiBtLqCwDG/vvyycqLtzcexBDA+vTHNIns/un6 TFHfZQWIJjd/52MwDalYy/abLXGLmayWtqOAtlUqqomQAmBqIZGms3rrYiW+mbJbUJT2 Q+KQ== X-Forwarded-Encrypted: i=1; AJvYcCVqiEYWMGJirWeuKNoH4cd+aE/gitSdH4Rfo9yHsTAUtSfWNHlc0JULj1HrMVmbiS0V2+H3HKDRD60HVb3RrJmavDUkqTadkSNu5gDt X-Gm-Message-State: AOJu0Ywla1najzoMVCrupa2xkeTlwkPU8DerZTtH3fxTEOF2eht3E8dr cBFGTnSM0P5eXlotTKCDnHmWMEfuE29Q1NFDVpcAvv+Jd9fHtCJtwWUoxesZUouwc+clZWZygmS aQOohDCfuqVnrnvtqTVZf7Qi/AEwLpSlk4PDcRw== X-Received: by 2002:a17:906:ca8e:b0:a5a:7b88:8672 with SMTP id a640c23a62f3a-a5a7b888747mr3863166b.16.1715605766892; Mon, 13 May 2024 06:09:26 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240508191931.46060-1-alexghiti@rivosinc.com> <20240508191931.46060-2-alexghiti@rivosinc.com> In-Reply-To: From: Alexandre Ghiti Date: Mon, 13 May 2024 15:09:15 +0200 Message-ID: Subject: Re: [PATCH 01/12] mm, arm64: Rename ARM64_CONTPTE to THP_CONTPTE To: Barry Song <21cnbao@gmail.com> Cc: 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Barry, On Thu, May 9, 2024 at 2:46=E2=80=AFAM Barry Song <21cnbao@gmail.com> wrote= : > > On Thu, May 9, 2024 at 7:20=E2=80=AFAM Alexandre Ghiti wrote: > > > > 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 mov= e > > 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 cont= iguous > > - bit, for any mappings that meet the size and alignment requir= ements. > > - 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_are= a_struct *vma, > > unsigned long addr, pte_t *ptep, > > pte_t old_pte, pte_t new_pte); > > > > -#ifdef CONFIG_ARM64_CONTPTE > > +#ifdef CONFIG_THP_CONTPTE > > Is it necessarily THP? can't be hugetlb or others? I feel THP_CONTPTE > isn't a good name. This does not target hugetlbfs (see my other patchset for that here https://lore.kernel.org/linux-riscv/7504a525-8211-48b3-becb-a6e838c1b42e@ar= m.com/T/#m57d273d680fc531b3aa1074e6f8558a52ba5badc). What could be "others" here? Thanks for your comment, Alex > > > > > /* > > * The contpte APIs are used to transparently manage the contiguous bi= t 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, di= rty); > > } > > > > -#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 :=3D dma-mapping.o exta= ble.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) +=3D contpte.o > > +obj-$(CONFIG_THP_CONTPTE) +=3D contpte.o > > obj-$(CONFIG_HUGETLB_PAGE) +=3D hugetlbpage.o > > obj-$(CONFIG_PTDUMP_CORE) +=3D ptdump.o > > obj-$(CONFIG_PTDUMP_DEBUGFS) +=3D 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 cont= iguous > > + bit, for any mappings that meet the size and alignment requir= ements. > > + This reduces TLB pressure and improves performance. > > + > > config ARCH_HAS_CURRENT_STACK_POINTER > > bool > > help > > -- > > 2.39.2 > > Thanks > Barry