https://bugzilla.kernel.org/show_bug.cgi?id=201631 --- Comment #63 from Aneesh Kumar KV (aneesh.kumar@xxxxxxxxxxxxx) --- (In reply to Jan Kara from comment #62) > Erhard, thanks for the results! They are very weird but pretty clear: > cleaned state is 0x10 so page_vma_mapped_walk() called from page_mkclean() > has bailed out somewhere between: > > if (bh) > bh->b_cleaned_state |= 16; > restart: > pgd = pgd_offset(mm, pvmw->address); > if (!pgd_present(*pgd)) > return false; > p4d = p4d_offset(pgd, pvmw->address); > if (!p4d_present(*p4d)) > return false; > pud = pud_offset(p4d, pvmw->address); > if (!pud_present(*pud)) > return false; > if (bh) > bh->b_cleaned_state |= 32; > > I really don't understand how any of these tests could fail when later > unmap_page_range() has found the pte. But I somehow suspect commit > da7ad366b497f5 "powerpc/mm/book3s: Update pmd_present to look at > _PAGE_PRESENT bit" could be related since it was introduced in the window > where the problems started happening and it touches relevant code. > > Aneesh, what needs to be reverted so that we can test that this commit is > indeed the problematic one? I suppose: > > da7ad366b497 "powerpc/mm/book3s: Update pmd_present to look at _PAGE_PRESENT > bit" > f1981b5b302f "powerpc/mm/hugetlb/book3s: add _PAGE_PRESENT to hugepd > pointer." > ae28f17b5eeb "powerpc/mm/book3s: Check for pmd_large instead of > pmd_trans_huge" > 75646c480fde "arch/powerpc/mm/hash: validate the pte entries before handling > the hash fault" > 8890e03380d3 "powerpc/mm/thp: update pmd_trans_huge to check for pmd_present" > a0820ff33451 "powerpc/mm:book3s: Enable THP migration support" We can revert the first and the last patch. I am attaching the patches this got the revert failures fixed. -aneesh -- You are receiving this mail because: You are watching the assignee of the bug.