khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate()
[ Upstream commit 74e579bf231a337ab3786d59e64bc94f45ca7b3f ] In writable and !referenced case, the result value should be SCAN_LACK_REFERENCED_PAGE for trace_mm_collapse_huge_page_isolate() instead of default 0 (SCAN_FAIL) here. Link: https://lkml.kernel.org/r/20210306032947.35921-5-linmiaohe@huawei.com Fixes: 7d2eba0557c1 ("mm: add tracepoint for scanning pages") Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Cc: Ebru Akagunduz <ebru.akagunduz@gmail.com> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
854087e97f
commit
d5e95afdd8
@ -596,17 +596,17 @@ static int __collapse_huge_page_isolate(struct vm_area_struct *vma,
|
||||
mmu_notifier_test_young(vma->vm_mm, address))
|
||||
referenced++;
|
||||
}
|
||||
if (likely(writable)) {
|
||||
if (likely(referenced)) {
|
||||
result = SCAN_SUCCEED;
|
||||
trace_mm_collapse_huge_page_isolate(page, none_or_zero,
|
||||
referenced, writable, result);
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
result = SCAN_PAGE_RO;
|
||||
}
|
||||
|
||||
if (unlikely(!writable)) {
|
||||
result = SCAN_PAGE_RO;
|
||||
} else if (unlikely(!referenced)) {
|
||||
result = SCAN_LACK_REFERENCED_PAGE;
|
||||
} else {
|
||||
result = SCAN_SUCCEED;
|
||||
trace_mm_collapse_huge_page_isolate(page, none_or_zero,
|
||||
referenced, writable, result);
|
||||
return 1;
|
||||
}
|
||||
out:
|
||||
release_pte_pages(pte, _pte);
|
||||
trace_mm_collapse_huge_page_isolate(page, none_or_zero,
|
||||
|
Loading…
x
Reference in New Issue
Block a user