From: "Zi Yan" <ziy@nvidia.com>
To: "Luiz Capitulino" <luizcap@redhat.com>,
<linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>,
<david@kernel.org>, <baolin.wang@linux.alibaba.com>,
<lance.yang@linux.dev>
Cc: <corbet@lwn.net>, <tsbogend@alpha.franken.de>,
<maddy@linux.ibm.com>, <mpe@ellerman.id.au>,
<agordeev@linux.ibm.com>, <gerald.schaefer@linux.ibm.com>,
<hca@linux.ibm.com>, <gor@linux.ibm.com>, <x86@kernel.org>,
<tglx@kernel.org>, <mingo@redhat.com>, <bp@alien8.de>,
<hughd@google.com>, <dave.hansen@linux.intel.com>,
<djbw@kernel.org>, <vishal.l.verma@intel.com>,
<dave.jiang@intel.com>, <akpm@linux-foundation.org>,
<yintirui@huawei.com>, <dev.jain@arm.com>, <usama.arif@linux.dev>
Subject: Re: [PATCH v8 03/14] mm: introduce pgtable_has_pmd_leaves()
Date: Mon, 21 Sep 2026 22:07:54 -0400 [thread overview]
Message-ID: <DLLH8O7B34X1.N9ST1FNGK0ZH@nvidia.com> (raw)
In-Reply-To: <f0b6d8a8036ee6c2aef2a63e9a03d94292a2c599.1789695931.git.luizcap@redhat.com>
On Thu Sep 17, 2026 at 9:45 PM EDT, Luiz Capitulino wrote:
> Currently, we have two helpers that check for PMD-sized pages but have
> different names and slightly different semantics:
>
> - has_transparent_hugepage(): the name suggests it checks if THP is
> enabled, but when CONFIG_TRANSPARENT_HUGEPAGE=y and the architecture
> implements this helper, it actually checks if the CPU supports
> PMD-sized pages
>
> - thp_disabled_by_hw(): the name suggests it checks if THP is disabled
> by the hardware, but it just returns a cached value acquired with
> has_transparent_hugepage() during boot. This helper is used in fast
> paths
>
> A better design would be to separate CONFIG_TRANSPARENT_HUGEPAGE
> checking, which can be done with the IS_ENABLED() macro, from checking
> if a CPU supports PMD-sized pages.
>
> To this end, this commit introduces a new helper called
> pgtable_has_pmd_leaves() which offers the following advantages:
>
> 1. Well defined and clear semantics: it returns true if the CPU
> supports PMD-sized pages and false otherwise
> 2. It always returns a cached value, so it can be used in fast paths
> 3. It's implemented with a static key: it's a no-op for archs not
> implemeting it and for archs implementing it the static key is
> changed only during boot
>
> The new helper requires an initialization step which is performed by
> pgtable_leaf_support_init(). We call pgtable_leaf_support_init() early
> during boot from mm_core_init().
>
> The next commits will convert users of both has_transparent_hugepage()
> and thp_disabled_by_hw() to pgtable_has_pmd_leaves() and/or
> IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE).
>
> Signed-off-by: Luiz Capitulino <luizcap@redhat.com>
> ---
> include/linux/pgtable.h | 17 +++++++++++++++++
> mm/memory.c | 9 +++++++++
> mm/mm_init.c | 1 +
> 3 files changed, 27 insertions(+)
>
LGTM.
Acked-by: Zi Yan <ziy@nvidia.com>
--
Best Regards,
Yan, Zi
next prev parent reply other threads:[~2026-09-22 2:08 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-18 1:45 [PATCH v8 00/14] mm: thp: always enable mTHP support Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 01/14] docs: tmpfs: remove implementation detail reference Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 02/14] mm: shmem: shmem_getattr(): set blksize to highest supported THP order Luiz Capitulino
2026-10-02 19:11 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 03/14] mm: introduce pgtable_has_pmd_leaves() Luiz Capitulino
2026-09-22 2:07 ` Zi Yan [this message]
2026-10-02 19:13 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 04/14] drivers: dax: use pgtable_has_pmd_leaves() Luiz Capitulino
2026-09-22 2:08 ` Zi Yan
2026-10-02 19:15 ` David Hildenbrand (Arm)
2026-10-03 14:55 ` Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 05/14] drivers: nvdimm: " Luiz Capitulino
2026-10-02 19:18 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 06/14] mm: debug_vm_pgtable: " Luiz Capitulino
2026-10-02 19:19 ` David Hildenbrand (Arm)
2026-10-03 14:55 ` Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 07/14] mm: shmem: allow THP support determination at folio allocation time Luiz Capitulino
2026-09-22 2:20 ` Zi Yan
2026-09-23 1:37 ` Luiz Capitulino
2026-10-02 19:23 ` David Hildenbrand (Arm)
2026-10-03 15:09 ` Luiz Capitulino
2026-10-08 1:50 ` Baolin Wang
2026-10-08 2:14 ` Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 08/14] s390: move has_transparent_hugepage() out of THP guard Luiz Capitulino
2026-09-22 2:21 ` Zi Yan
2026-10-02 19:24 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 09/14] powerpc: " Luiz Capitulino
2026-10-02 19:28 ` David Hildenbrand (Arm)
2026-10-03 15:44 ` Luiz Capitulino
2026-10-05 4:52 ` Christophe Leroy (CS GROUP)
2026-10-05 20:40 ` Luiz Capitulino
2026-10-06 4:48 ` Christophe Leroy (CS GROUP)
2026-09-18 1:45 ` [PATCH v8 10/14] mips: " Luiz Capitulino
2026-10-02 19:29 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 11/14] x86: " Luiz Capitulino
2026-09-18 1:45 ` [PATCH v8 12/14] treewide: introduce arch_has_pmd_leaves() Luiz Capitulino
2026-09-22 2:26 ` Zi Yan
2026-09-18 1:45 ` [PATCH v8 13/14] mm: replace thp_disabled_by_hw() with pgtable_has_pmd_leaves() Luiz Capitulino
2026-10-02 19:32 ` David Hildenbrand (Arm)
2026-09-18 1:45 ` [PATCH v8 14/14] mm: thp: always enable mTHP support Luiz Capitulino
2026-09-18 9:01 ` Baolin Wang
2026-09-21 10:29 ` Usama Arif
2026-09-22 2:06 ` Luiz Capitulino
2026-10-03 3:13 ` Lance Yang
2026-10-03 15:50 ` Luiz Capitulino
2026-10-08 2:07 ` Baolin Wang
2026-10-08 12:08 ` Luiz Capitulino
2026-09-18 10:37 ` [PATCH v8 00/14] " Usama Arif
2026-09-18 14:01 ` Luiz Capitulino
2026-09-18 20:23 ` David Hildenbrand (Arm)
2026-09-21 10:36 ` Usama Arif
2026-09-22 2:11 ` Luiz Capitulino
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DLLH8O7B34X1.N9ST1FNGK0ZH@nvidia.com \
--to=ziy@nvidia.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bp@alien8.de \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=dave.jiang@intel.com \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=djbw@kernel.org \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=hughd@google.com \
--cc=lance.yang@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luizcap@redhat.com \
--cc=maddy@linux.ibm.com \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=tglx@kernel.org \
--cc=tsbogend@alpha.franken.de \
--cc=usama.arif@linux.dev \
--cc=vishal.l.verma@intel.com \
--cc=x86@kernel.org \
--cc=yintirui@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.