On Tue, Jan 8, 2013 at 9:30 AM, Kirill A. Shutemov <kir...@shutemov.name> wrote: > > Check difference between patch above and merged one -- a1dd450. > Merged patch is obviously broken: huge_pmd_set_accessed() can be called > only if the pmd is under splitting.
Ok, that's a totally different issue, and seems to be due to different versions (Andrew - any idea why http://lkml.org/lkml/2012/10/25/402 and commit a1dd450bcb1a ("mm: thp: set the accessed flag for old pages on access fault") are different? That said, I actually think that commit a1dd450bcb1a is correct: huge_pmd_set_accessed() can not *possibly* need to check the splitting issue, since it takes the page table lock and re-verifies that the pmd entry is identical, before just setting the access flags. So that whole thing is irrelevant. huge_pmd_set_accessed() almost certainly simply doesn't care about splitting. But look at commit d10e63f29488. That's the one that removes pmd_trans_splitting() entirely, and does it for the case that *does* seem to care, namely do_huge_pmd_wp_page(). Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/