i386: use pte_update_defer in ptep_test_and_clear_{dirty,young}
authorZachary Amsden <zach@vmware.com>
Sun, 6 May 2007 21:49:20 +0000 (14:49 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:12:52 +0000 (12:12 -0700)
commit0013572b2ae535bfd6314f22d9aef53725ea00d8
tree0c405dfe8a106099696ed9955b4405e6d7caed70
parent10a8d6ae4b3182d6588a5809a8366343bc295c20
i386: use pte_update_defer in ptep_test_and_clear_{dirty,young}

If you actually clear the bit, you need to:

+         pte_update_defer(vma->vm_mm, addr, ptep);

The reason is, when updating PTEs, the hypervisor must be notified.  Using
atomic operations to do this is fine for all hypervisors I am aware of.
However, for hypervisors which shadow page tables, if these PTE
modifications are not trapped, you need a post-modification call to fulfill
the update of the shadow page table.

Acked-by: Zachary Amsden <zach@vmware.com>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-i386/pgtable.h