On Mon, Jul 05, 2010 at 03:39:09PM +0300, Avi Kivity wrote: > The kvm mmu synchronizes shadow ptes using the mmu lock, however the cpu > will happily ignore the lock when setting the accessed bit. This can cause > the accessed bit to be lost. Luckily this only results in incorrect page > selection for swap. > > This patchset fixes the problem by atomically updating the spte when > needed while taking care of the accessed bit. > > v3: fix i386 pte exchange code in patch 3 > add missing __set_spte() to drop_spte() in patch 2 > > v2: fix incorrect code transformations in first patch > > Avi Kivity (4): > KVM: MMU: Introduce drop_spte() > KVM: MMU: Move accessed/dirty bit checks from rmap_remove() to > drop_spte() > KVM: MMU: Atomically check for accessed bit when dropping an spte > KVM: MMU: Don't drop accessed bit while updating an spte > > arch/x86/kvm/mmu.c | 88 +++++++++++++++++++++++++++++++------------ > arch/x86/kvm/paging_tmpl.h | 13 +++--- > 2 files changed, 69 insertions(+), 32 deletions(-) Looks good to me. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html