[PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures

Qi Zheng posted 7 patches 2 months, 3 weeks ago
There is a newer version of this series
arch/alpha/Kconfig                   | 1 +
arch/alpha/include/asm/tlb.h         | 8 +++++---
arch/arc/Kconfig                     | 1 +
arch/arc/include/asm/pgalloc.h       | 9 ++++++---
arch/loongarch/Kconfig               | 1 +
arch/loongarch/include/asm/pgalloc.h | 6 ++++--
arch/mips/Kconfig                    | 1 +
arch/mips/include/asm/pgalloc.h      | 6 ++++--
arch/parisc/Kconfig                  | 1 +
arch/parisc/include/asm/tlb.h        | 6 ++++--
arch/um/Kconfig                      | 1 +
arch/x86/Kconfig                     | 1 -
mm/Kconfig                           | 6 +-----
13 files changed, 30 insertions(+), 18 deletions(-)
[PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures
Posted by Qi Zheng 2 months, 3 weeks ago
From: Qi Zheng <zhengqi.arch@bytedance.com>

Hi all,

This series aims to enable PT_RECLAIM on all 64-bit architectures.

On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of empty PTE
page table pages (such as 100GB+). To resolve this problem, we need to enable
PT_RECLAIM, which depends on MMU_GATHER_RCU_TABLE_FREE.

Therefore, this series first enables MMU_GATHER_RCU_TABLE_FREE on all 64-bit
architectures, and finally makes PT_RECLAIM depend on MMU_GATHER_RCU_TABLE_FREE
&& 64BIT. This way, PT_RECLAIM can be enabled by default on all 64-bit
architectures.

Comments and suggestions are welcome!

Thanks,
Qi

Qi Zheng (7):
  alpha: mm: enable MMU_GATHER_RCU_TABLE_FREE
  arc: mm: enable MMU_GATHER_RCU_TABLE_FREE
  loongarch: mm: enable MMU_GATHER_RCU_TABLE_FREE
  mips: mm: enable MMU_GATHER_RCU_TABLE_FREE
  parisc: mm: enable MMU_GATHER_RCU_TABLE_FREE
  um: mm: enable MMU_GATHER_RCU_TABLE_FREE
  mm: make PT_RECLAIM depend on MMU_GATHER_RCU_TABLE_FREE && 64BIT

 arch/alpha/Kconfig                   | 1 +
 arch/alpha/include/asm/tlb.h         | 8 +++++---
 arch/arc/Kconfig                     | 1 +
 arch/arc/include/asm/pgalloc.h       | 9 ++++++---
 arch/loongarch/Kconfig               | 1 +
 arch/loongarch/include/asm/pgalloc.h | 6 ++++--
 arch/mips/Kconfig                    | 1 +
 arch/mips/include/asm/pgalloc.h      | 6 ++++--
 arch/parisc/Kconfig                  | 1 +
 arch/parisc/include/asm/tlb.h        | 6 ++++--
 arch/um/Kconfig                      | 1 +
 arch/x86/Kconfig                     | 1 -
 mm/Kconfig                           | 6 +-----
 13 files changed, 30 insertions(+), 18 deletions(-)

-- 
2.20.1
Re: [PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures
Posted by David Hildenbrand (Red Hat) 2 months, 3 weeks ago
On 14.11.25 12:11, Qi Zheng wrote:
> From: Qi Zheng <zhengqi.arch@bytedance.com>
> 
> Hi all,
> 
> This series aims to enable PT_RECLAIM on all 64-bit architectures.
> 
> On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of empty PTE
> page table pages (such as 100GB+). To resolve this problem, we need to enable
> PT_RECLAIM, which depends on MMU_GATHER_RCU_TABLE_FREE.
> 

Makes sense!

> Therefore, this series first enables MMU_GATHER_RCU_TABLE_FREE on all 64-bit
> architectures, and finally makes PT_RECLAIM depend on MMU_GATHER_RCU_TABLE_FREE
> && 64BIT. This way, PT_RECLAIM can be enabled by default on all 64-bit
> architectures.

Could we then even go ahead and stop making PT_RECLAIM user-selectable?

-- 
Cheers

David
Re: [PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures
Posted by Qi Zheng 2 months, 3 weeks ago

On 11/18/25 12:53 AM, David Hildenbrand (Red Hat) wrote:
> On 14.11.25 12:11, Qi Zheng wrote:
>> From: Qi Zheng <zhengqi.arch@bytedance.com>
>>
>> Hi all,
>>
>> This series aims to enable PT_RECLAIM on all 64-bit architectures.
>>
>> On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of 
>> empty PTE
>> page table pages (such as 100GB+). To resolve this problem, we need to 
>> enable
>> PT_RECLAIM, which depends on MMU_GATHER_RCU_TABLE_FREE.
>>
> 
> Makes sense!
> 
>> Therefore, this series first enables MMU_GATHER_RCU_TABLE_FREE on all 
>> 64-bit
>> architectures, and finally makes PT_RECLAIM depend on 
>> MMU_GATHER_RCU_TABLE_FREE
>> && 64BIT. This way, PT_RECLAIM can be enabled by default on all 64-bit
>> architectures.
> 
> Could we then even go ahead and stop making PT_RECLAIM user-selectable?

OK, will change to:

config PT_RECLAIM
	def_bool y
	depends on MMU_GATHER_RCU_TABLE_FREE && MMU && SMP && 64BIT

>
Re: [PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures
Posted by David Hildenbrand (Red Hat) 2 months, 2 weeks ago
On 18.11.25 12:53, Qi Zheng wrote:
> 
> 
> On 11/18/25 12:53 AM, David Hildenbrand (Red Hat) wrote:
>> On 14.11.25 12:11, Qi Zheng wrote:
>>> From: Qi Zheng <zhengqi.arch@bytedance.com>
>>>
>>> Hi all,
>>>
>>> This series aims to enable PT_RECLAIM on all 64-bit architectures.
>>>
>>> On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of
>>> empty PTE
>>> page table pages (such as 100GB+). To resolve this problem, we need to
>>> enable
>>> PT_RECLAIM, which depends on MMU_GATHER_RCU_TABLE_FREE.
>>>
>>
>> Makes sense!
>>
>>> Therefore, this series first enables MMU_GATHER_RCU_TABLE_FREE on all
>>> 64-bit
>>> architectures, and finally makes PT_RECLAIM depend on
>>> MMU_GATHER_RCU_TABLE_FREE
>>> && 64BIT. This way, PT_RECLAIM can be enabled by default on all 64-bit
>>> architectures.
>>
>> Could we then even go ahead and stop making PT_RECLAIM user-selectable?
> 
> OK, will change to:

Was more of a question: is there any scenario where we ran so far into 
issues with it?

-- 
Cheers

David
Re: [PATCH 0/7] enable PT_RECLAIM on all 64-bit architectures
Posted by Qi Zheng 2 months, 2 weeks ago

On 11/19/25 6:13 PM, David Hildenbrand (Red Hat) wrote:
> On 18.11.25 12:53, Qi Zheng wrote:
>>
>>
>> On 11/18/25 12:53 AM, David Hildenbrand (Red Hat) wrote:
>>> On 14.11.25 12:11, Qi Zheng wrote:
>>>> From: Qi Zheng <zhengqi.arch@bytedance.com>
>>>>
>>>> Hi all,
>>>>
>>>> This series aims to enable PT_RECLAIM on all 64-bit architectures.
>>>>
>>>> On a 64-bit system, madvise(MADV_DONTNEED) may cause a large number of
>>>> empty PTE
>>>> page table pages (such as 100GB+). To resolve this problem, we need to
>>>> enable
>>>> PT_RECLAIM, which depends on MMU_GATHER_RCU_TABLE_FREE.
>>>>
>>>
>>> Makes sense!
>>>
>>>> Therefore, this series first enables MMU_GATHER_RCU_TABLE_FREE on all
>>>> 64-bit
>>>> architectures, and finally makes PT_RECLAIM depend on
>>>> MMU_GATHER_RCU_TABLE_FREE
>>>> && 64BIT. This way, PT_RECLAIM can be enabled by default on all 64-bit
>>>> architectures.
>>>
>>> Could we then even go ahead and stop making PT_RECLAIM user-selectable?
>>
>> OK, will change to:
> 
> Was more of a question: is there any scenario where we ran so far into 
> issues with it?

No, I haven't received any reports of related issues, either within the
company or in the community.

>