diff options
author | 2025-04-22 09:18:12 +0100 | |
---|---|---|
committer | 2025-05-09 13:43:07 +0100 | |
commit | ef493d234362e0e895968563ac51e174bcb2ddb4 (patch) | |
tree | 645959cd28d3ed42f61c117edb86e94842fd08e4 /scripts/gdb/linux/utils.py | |
parent | mm/page_table_check: Batch-check pmds/puds just like ptes (diff) | |
download | wireguard-linux-ef493d234362e0e895968563ac51e174bcb2ddb4.tar.xz wireguard-linux-ef493d234362e0e895968563ac51e174bcb2ddb4.zip |
arm64/mm: Refactor __set_ptes() and __ptep_get_and_clear()
Refactor __set_ptes(), set_pmd_at() and set_pud_at() so that they are
all a thin wrapper around a new common __set_ptes_anysz(), which takes
pgsize parameter. Additionally, refactor __ptep_get_and_clear() and
pmdp_huge_get_and_clear() to use a new common
__ptep_get_and_clear_anysz() which also takes a pgsize parameter.
These changes will permit the huge_pte API to efficiently batch-set
pgtable entries and take advantage of the future barrier optimizations.
Additionally since the new *_anysz() helpers call the correct
page_table_check_*_set() API based on pgsize, this means that huge_ptes
will be able to get proper coverage. Currently the huge_pte API always
uses the pte API which assumes an entry only covers a single page.
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Tested-by: Luiz Capitulino <luizcap@redhat.com>
Link: https://lore.kernel.org/r/20250422081822.1836315-5-ryan.roberts@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'scripts/gdb/linux/utils.py')
0 files changed, 0 insertions, 0 deletions