On Tue, Jan 8, 2013 at 9:30 AM, Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>