Hi, I have been wondering about the following: Before the THP work, the if (vma->vm_flags & VM_LOCKED) test in page_referenced_one() was placed after the page_check_address() call, but now it is placed above it. Could this be a problem ? My understanding is that the page_check_address() check may return false positives - for example, if an anon page was created before a process forked, rmap will indicate that the page could be mapped in both of the processes, even though one of them might have since broken COW. What would happen if the child process mlocks the corresponding VMA ? my understanding is that this would break COW, but not cause rmap to be updated, so the parent's page would still be marked in rmap as being possibly mapped in the children's VM_LOCKED vma. With the VM_LOCKED check now placed above the page_check_address() call, this would cause vmscan to see both the parent's and the child's pages as being unevictable. Am I missing something there ? In particular, I am not sure if marking the children's VMA as mlocked would somehow cause rmap to realize it can't share pages with the parent anymore (but I don't think that's the case, and it could cause other issues if it was...) -- Michel "Walken" Lespinasse A program is never fully debugged until the last user dies. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>