On 03/08/2011 06:32 AM, Andrea Arcangeli wrote:
Subject: thp: fix page_referenced to modify mapcount/vm_flags only if page is found From: Andrea Arcangeli<aarcange@xxxxxxxxxx> When vmscan.c calls page_referenced, if an anon page was created before a process forked, rmap will search for it in both of the processes, even though one of them might have since broken COW. If the child process mlocks the vma where the COWed page belongs to, page_referenced() running on the page mapped by the parent would lead to *vm_flags getting VM_LOCKED set erroneously (leading to the references on the parent page being ignored and evicting the parent page too early).
Signed-off-by: Andrea Arcangeli<aarcange@xxxxxxxxxx> Reported-by: Michel Lespinasse<walken@xxxxxxxxxx>
Reviewed-by: Rik van Riel<riel@xxxxxxxxxx> -- All rights reversed -- 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>