From: Qi Zheng <zhengqi.arch@bytedance.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: david@redhat.com, jannh@google.com, hughd@google.com,
willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org,
peterx@redhat.com, mgorman@suse.de, catalin.marinas@arm.com,
will@kernel.org, dave.hansen@linux.intel.com, luto@kernel.org,
peterz@infradead.org, x86@kernel.org, lorenzo.stoakes@oracle.com,
zokeefe@google.com, rientjes@google.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 09/11] mm: pgtable: reclaim empty PTE page in madvise(MADV_DONTNEED)
Date: Thu, 5 Dec 2024 11:35:00 +0800 [thread overview]
Message-ID: <c35de63b-c0c6-47b3-95e2-d37ed3801b13@bytedance.com> (raw)
In-Reply-To: <20241204143625.a09c2b8376b2415b985cf50a@linux-foundation.org>
On 2024/12/5 06:36, Andrew Morton wrote:
> On Wed, 4 Dec 2024 19:09:49 +0800 Qi Zheng <zhengqi.arch@bytedance.com> wrote:
>
[...]
>>
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -1301,6 +1301,21 @@ config ARCH_HAS_USER_SHADOW_STACK
>> The architecture has hardware support for userspace shadow call
>> stacks (eg, x86 CET, arm64 GCS or RISC-V Zicfiss).
>>
>> +config ARCH_SUPPORTS_PT_RECLAIM
>> + def_bool n
>> +
>> +config PT_RECLAIM
>> + bool "reclaim empty user page table pages"
>> + default y
>> + depends on ARCH_SUPPORTS_PT_RECLAIM && MMU && SMP
>> + select MMU_GATHER_RCU_TABLE_FREE
>> + help
>> + Try to reclaim empty user page table pages in paths other than munmap
>> + and exit_mmap path.
>> +
>> + Note: now only empty user PTE page table pages will be reclaimed.
>> +
>
> Why is this optional? What is the case for permitting PT_RECLAIM to e
> disabled?
>
To reclaim the empty PTE pages, we need to free the PTE page through
RCU, which requires modifying the implementation in each architecture.
Making it an option will make it easier to gradually add support for
each architecture. And for now, we have only added support for x86.
next prev parent reply other threads:[~2024-12-05 3:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 11:09 [PATCH v4 00/11] synchronously scan and reclaim empty user PTE pages Qi Zheng
2024-12-04 11:09 ` [PATCH v4 01/11] mm: khugepaged: recheck pmd state in retract_page_tables() Qi Zheng
2024-12-04 11:09 ` [PATCH v4 02/11] mm: userfaultfd: recheck dst_pmd entry in move_pages_pte() Qi Zheng
2024-12-10 8:41 ` [PATCH v4 02/11 fix] fix: " Qi Zheng
2024-12-04 11:09 ` [PATCH v4 03/11] mm: introduce zap_nonpresent_ptes() Qi Zheng
2024-12-04 11:09 ` [PATCH v4 04/11] mm: introduce do_zap_pte_range() Qi Zheng
2024-12-04 11:09 ` [PATCH v4 05/11] mm: skip over all consecutive none ptes in do_zap_pte_range() Qi Zheng
2024-12-04 11:09 ` [PATCH v4 06/11] mm: zap_install_uffd_wp_if_needed: return whether uffd-wp pte has been re-installed Qi Zheng
2024-12-04 11:09 ` [PATCH v4 07/11] mm: do_zap_pte_range: return any_skipped information to the caller Qi Zheng
2024-12-04 11:09 ` [PATCH v4 08/11] mm: make zap_pte_range() handle full within-PMD range Qi Zheng
2024-12-04 11:09 ` [PATCH v4 09/11] mm: pgtable: reclaim empty PTE page in madvise(MADV_DONTNEED) Qi Zheng
2024-12-04 22:36 ` Andrew Morton
2024-12-04 22:47 ` Jann Horn
2024-12-05 3:23 ` Qi Zheng
2024-12-05 3:35 ` Qi Zheng [this message]
2024-12-06 11:23 ` [PATCH v4 09/11 fix] fix: " Qi Zheng
2024-12-04 11:09 ` [PATCH v4 10/11] x86: mm: free page table pages by RCU instead of semi RCU Qi Zheng
2024-12-04 11:09 ` [PATCH v4 11/11] x86: select ARCH_SUPPORTS_PT_RECLAIM if X86_64 Qi Zheng
2024-12-10 8:44 ` [PATCH v4 12/11] mm: pgtable: make ptlock be freed by RCU Qi Zheng
2024-12-04 22:49 ` [PATCH v4 00/11] synchronously scan and reclaim empty user PTE pages Andrew Morton
2024-12-04 22:56 ` Jann Horn
2024-12-05 3:59 ` Qi Zheng
2024-12-05 3:56 ` Qi Zheng
2024-12-10 8:57 ` Qi Zheng
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=c35de63b-c0c6-47b3-95e2-d37ed3801b13@bytedance.com \
--to=zhengqi.arch@bytedance.com \
--cc=akpm@linux-foundation.org \
--cc=catalin.marinas@arm.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=jannh@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=luto@kernel.org \
--cc=mgorman@suse.de \
--cc=muchun.song@linux.dev \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=rientjes@google.com \
--cc=vbabka@kernel.org \
--cc=will@kernel.org \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
--cc=zokeefe@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox