[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ldoumsgn.fsf@oracle.com>
Date: Fri, 11 Jul 2025 12:35:04 -0700
From: Ankur Arora <ankur.a.arora@...cle.com>
To: David Hildenbrand <david@...hat.com>
Cc: Ankur Arora <ankur.a.arora@...cle.com>, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, x86@...nel.org, akpm@...ux-foundation.org,
bp@...en8.de, dave.hansen@...ux.intel.com, hpa@...or.com,
mingo@...hat.com, mjguzik@...il.com, luto@...nel.org,
peterz@...radead.org, acme@...nel.org, namhyung@...nel.org,
tglx@...utronix.de, willy@...radead.org, raghavendra.kt@....com,
boris.ostrovsky@...cle.com, konrad.wilk@...cle.com
Subject: Re: [PATCH v5 12/14] mm: add config option for clearing page-extents
David Hildenbrand <david@...hat.com> writes:
> On 11.07.25 19:25, Ankur Arora wrote:
>> David Hildenbrand <david@...hat.com> writes:
>>
>>> On 10.07.25 02:59, Ankur Arora wrote:
>>>> Add CONFIG_CLEAR_PAGE_EXTENT to allow clearing of page-extents
>>>> where architecturally supported.
>>>> This is only available with !CONFIG_HIGHMEM because the intent is to
>>>> use architecture support to clear contiguous extents in a single
>>>> operation (ex. via FEAT_MOPS on arm64, string instructions on x86)
>>>> which excludes any possibility of interspersing kmap()/kunmap().
>>>> Signed-off-by: Ankur Arora <ankur.a.arora@...cle.com>
>>>> ---
>>>> mm/Kconfig | 9 +++++++++
>>>> 1 file changed, 9 insertions(+)
>>>> diff --git a/mm/Kconfig b/mm/Kconfig
>>>> index 781be3240e21..a74a5e02de28 100644
>>>> --- a/mm/Kconfig
>>>> +++ b/mm/Kconfig
>>>> @@ -910,6 +910,15 @@ config NO_PAGE_MAPCOUNT
>>>> endif # TRANSPARENT_HUGEPAGE
>>>> +config CLEAR_PAGE_EXTENT
>>>> + def_bool y
>>>> + depends on !HIGHMEM && ARCH_HAS_CLEAR_PAGES
>>>> + depends on TRANSPARENT_HUGEPAGE || HUGETLBFS
>>>> +
>>>> + help
>>>> + Use architectural support for clear_pages() to zero page-extents.
>>>> + This is likely to be faster than zeroing page-at-a-time.
>>>> +
>>>
>>> IIRC, adding a help text will make this option be configurable by the user, no?
>> I tried changing the value in the generated .config by hand and that
>> reverted back to the computed value. So, I think this isn't configurable
>> by the user.
>
> Yes, I misremembered and the help text confused me.
>
> So yes, the help text in that case (internal entries) is uncommon (no need to
> guide the user when there are no options :) ), but feel free to keep it for
> documentation purposes.
>
> (e.g., HAVE_64BIT_ALIGNED_ACCESS does that)
>
> Maybe we should call it similarly HAVE_... to make it clearer that there are
> really no options.
Actually a prefix is a good idea.
Btw, the natural follow-up (to me anyway) to this series would be to
also do this for the copy path.
>From some quick tests on x86, the performance improvement was similar.
So, maybe it could just be something like: USE_CONTIG_PAGES.
But that needs a verb somewhere.
> But I'm bad at #kconfig, so whatever you prefer.
Not much better, as you can see.
--
ankur
Powered by blists - more mailing lists