aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'mm/khugepaged.c')
-rw-r--r--mm/khugepaged.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index 349b4782d9f4..f426d42d629d 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -597,17 +597,17 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma,
597 mmu_notifier_test_young(vma->vm_mm, address)) 597 mmu_notifier_test_young(vma->vm_mm, address))
598 referenced++; 598 referenced++;
599 } 599 }
600 if (likely(writable)) { 600
601 if (likely(referenced)) { 601 if (unlikely(!writable)) {
602 result = SCAN_SUCCEED;
603 trace_mm_collapse_huge_page_isolate(page, none_or_zero,
604 referenced, writable, result);
605 return 1;
606 }
607 } else {
608 result = SCAN_PAGE_RO; 602 result = SCAN_PAGE_RO;
603 } else if (unlikely(!referenced)) {
604 result = SCAN_LACK_REFERENCED_PAGE;
605 } else {
606 result = SCAN_SUCCEED;
607 trace_mm_collapse_huge_page_isolate(page, none_or_zero,
608 referenced, writable, result);
609 return 1;
609 } 610 }
610
611out: 611out:
612 release_pte_pages(pte, _pte); 612 release_pte_pages(pte, _pte);
613 trace_mm_collapse_huge_page_isolate(page, none_or_zero, 613 trace_mm_collapse_huge_page_isolate(page, none_or_zero,