Skip to content

Commit 473b732

Browse files
Dev Jainakpm00
authored andcommitted
mm: drop all references of writable and SCAN_PAGE_RO
Now that all actionable outcomes from checking pte_write() are gone, drop the related references. Link: https://lkml.kernel.org/r/20250908075028.38431-3-dev.jain@arm.com Signed-off-by: Dev Jain <dev.jain@arm.com> Acked-by: David Hildenbrand <david@redhat.com> Acked-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Kiryl Shutsemau <kas@kernel.org> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com> Reviewed-by: Zach O'Keefe <zokeefe@google.com> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Barry Song <baohua@kernel.org> Cc: Hugh Dickins <hughd@google.com> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Mariano Pache <npache@redhat.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Ryan Roberts <ryan.roberts@arm.com> Cc: Wei Yang <richard.weiyang@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 62b9801 commit 473b732

2 files changed

Lines changed: 9 additions & 24 deletions

File tree

include/trace/events/huge_memory.h

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
EM( SCAN_PTE_NON_PRESENT, "pte_non_present") \
2020
EM( SCAN_PTE_UFFD_WP, "pte_uffd_wp") \
2121
EM( SCAN_PTE_MAPPED_HUGEPAGE, "pte_mapped_hugepage") \
22-
EM( SCAN_PAGE_RO, "no_writable_page") \
2322
EM( SCAN_LACK_REFERENCED_PAGE, "lack_referenced_page") \
2423
EM( SCAN_PAGE_NULL, "page_null") \
2524
EM( SCAN_SCAN_ABORT, "scan_aborted") \
@@ -55,15 +54,14 @@ SCAN_STATUS
5554

5655
TRACE_EVENT(mm_khugepaged_scan_pmd,
5756

58-
TP_PROTO(struct mm_struct *mm, struct folio *folio, bool writable,
57+
TP_PROTO(struct mm_struct *mm, struct folio *folio,
5958
int referenced, int none_or_zero, int status, int unmapped),
6059

61-
TP_ARGS(mm, folio, writable, referenced, none_or_zero, status, unmapped),
60+
TP_ARGS(mm, folio, referenced, none_or_zero, status, unmapped),
6261

6362
TP_STRUCT__entry(
6463
__field(struct mm_struct *, mm)
6564
__field(unsigned long, pfn)
66-
__field(bool, writable)
6765
__field(int, referenced)
6866
__field(int, none_or_zero)
6967
__field(int, status)
@@ -73,17 +71,15 @@ TRACE_EVENT(mm_khugepaged_scan_pmd,
7371
TP_fast_assign(
7472
__entry->mm = mm;
7573
__entry->pfn = folio ? folio_pfn(folio) : -1;
76-
__entry->writable = writable;
7774
__entry->referenced = referenced;
7875
__entry->none_or_zero = none_or_zero;
7976
__entry->status = status;
8077
__entry->unmapped = unmapped;
8178
),
8279

83-
TP_printk("mm=%p, scan_pfn=0x%lx, writable=%d, referenced=%d, none_or_zero=%d, status=%s, unmapped=%d",
80+
TP_printk("mm=%p, scan_pfn=0x%lx, referenced=%d, none_or_zero=%d, status=%s, unmapped=%d",
8481
__entry->mm,
8582
__entry->pfn,
86-
__entry->writable,
8783
__entry->referenced,
8884
__entry->none_or_zero,
8985
__print_symbolic(__entry->status, SCAN_STATUS),
@@ -117,31 +113,28 @@ TRACE_EVENT(mm_collapse_huge_page,
117113
TRACE_EVENT(mm_collapse_huge_page_isolate,
118114

119115
TP_PROTO(struct folio *folio, int none_or_zero,
120-
int referenced, bool writable, int status),
116+
int referenced, int status),
121117

122-
TP_ARGS(folio, none_or_zero, referenced, writable, status),
118+
TP_ARGS(folio, none_or_zero, referenced, status),
123119

124120
TP_STRUCT__entry(
125121
__field(unsigned long, pfn)
126122
__field(int, none_or_zero)
127123
__field(int, referenced)
128-
__field(bool, writable)
129124
__field(int, status)
130125
),
131126

132127
TP_fast_assign(
133128
__entry->pfn = folio ? folio_pfn(folio) : -1;
134129
__entry->none_or_zero = none_or_zero;
135130
__entry->referenced = referenced;
136-
__entry->writable = writable;
137131
__entry->status = status;
138132
),
139133

140-
TP_printk("scan_pfn=0x%lx, none_or_zero=%d, referenced=%d, writable=%d, status=%s",
134+
TP_printk("scan_pfn=0x%lx, none_or_zero=%d, referenced=%d, status=%s",
141135
__entry->pfn,
142136
__entry->none_or_zero,
143137
__entry->referenced,
144-
__entry->writable,
145138
__print_symbolic(__entry->status, SCAN_STATUS))
146139
);
147140

mm/khugepaged.c

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ enum scan_result {
3939
SCAN_PTE_NON_PRESENT,
4040
SCAN_PTE_UFFD_WP,
4141
SCAN_PTE_MAPPED_HUGEPAGE,
42-
SCAN_PAGE_RO,
4342
SCAN_LACK_REFERENCED_PAGE,
4443
SCAN_PAGE_NULL,
4544
SCAN_SCAN_ABORT,
@@ -557,7 +556,6 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma,
557556
struct folio *folio = NULL;
558557
pte_t *_pte;
559558
int none_or_zero = 0, shared = 0, result = SCAN_FAIL, referenced = 0;
560-
bool writable = false;
561559

562560
for (_pte = pte; _pte < pte + HPAGE_PMD_NR;
563561
_pte++, address += PAGE_SIZE) {
@@ -671,23 +669,20 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma,
671669
folio_test_referenced(folio) || mmu_notifier_test_young(vma->vm_mm,
672670
address)))
673671
referenced++;
674-
675-
if (pte_write(pteval))
676-
writable = true;
677672
}
678673

679674
if (unlikely(cc->is_khugepaged && !referenced)) {
680675
result = SCAN_LACK_REFERENCED_PAGE;
681676
} else {
682677
result = SCAN_SUCCEED;
683678
trace_mm_collapse_huge_page_isolate(folio, none_or_zero,
684-
referenced, writable, result);
679+
referenced, result);
685680
return result;
686681
}
687682
out:
688683
release_pte_pages(pte, _pte, compound_pagelist);
689684
trace_mm_collapse_huge_page_isolate(folio, none_or_zero,
690-
referenced, writable, result);
685+
referenced, result);
691686
return result;
692687
}
693688

@@ -1280,7 +1275,6 @@ static int hpage_collapse_scan_pmd(struct mm_struct *mm,
12801275
unsigned long _address;
12811276
spinlock_t *ptl;
12821277
int node = NUMA_NO_NODE, unmapped = 0;
1283-
bool writable = false;
12841278

12851279
VM_BUG_ON(address & ~HPAGE_PMD_MASK);
12861280

@@ -1344,8 +1338,6 @@ static int hpage_collapse_scan_pmd(struct mm_struct *mm,
13441338
result = SCAN_PTE_UFFD_WP;
13451339
goto out_unmap;
13461340
}
1347-
if (pte_write(pteval))
1348-
writable = true;
13491341

13501342
page = vm_normal_page(vma, _address, pteval);
13511343
if (unlikely(!page) || unlikely(is_zone_device_page(page))) {
@@ -1435,7 +1427,7 @@ static int hpage_collapse_scan_pmd(struct mm_struct *mm,
14351427
*mmap_locked = false;
14361428
}
14371429
out:
1438-
trace_mm_khugepaged_scan_pmd(mm, folio, writable, referenced,
1430+
trace_mm_khugepaged_scan_pmd(mm, folio, referenced,
14391431
none_or_zero, result, unmapped);
14401432
return result;
14411433
}

0 commit comments

Comments
 (0)