aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm/mmu.c
diff options
context:
space:
mode:
authorIzik Eidus <izike@qumranet.com>2007-11-26 07:08:14 -0500
committerAvi Kivity <avi@qumranet.com>2008-01-30 10:53:15 -0500
commit448353caeab1d9180f12194a80790859ddbeebd5 (patch)
treea2abe706462d493588bfc660b6610a0f23a25a49 /drivers/kvm/mmu.c
parenteb9774f0d675922d780f23cbb747f474b0573dea (diff)
KVM: MMU: mark pages that were inserted to the shadow pages table as accessed
Mark guest pages as accessed when removed from the shadow page tables for better lru processing. Signed-off-by: Izik Eidus <izike@qumranet.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/mmu.c')
-rw-r--r--drivers/kvm/mmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/kvm/mmu.c b/drivers/kvm/mmu.c
index 0cb6580956ba..9b9d1b6eb2f8 100644
--- a/drivers/kvm/mmu.c
+++ b/drivers/kvm/mmu.c
@@ -26,6 +26,7 @@
26#include <linux/mm.h> 26#include <linux/mm.h>
27#include <linux/highmem.h> 27#include <linux/highmem.h>
28#include <linux/module.h> 28#include <linux/module.h>
29#include <linux/swap.h>
29 30
30#include <asm/page.h> 31#include <asm/page.h>
31#include <asm/cmpxchg.h> 32#include <asm/cmpxchg.h>
@@ -438,6 +439,7 @@ static void rmap_remove(struct kvm *kvm, u64 *spte)
438 return; 439 return;
439 sp = page_header(__pa(spte)); 440 sp = page_header(__pa(spte));
440 page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT); 441 page = pfn_to_page((*spte & PT64_BASE_ADDR_MASK) >> PAGE_SHIFT);
442 mark_page_accessed(page);
441 if (is_writeble_pte(*spte)) 443 if (is_writeble_pte(*spte))
442 kvm_release_page_dirty(page); 444 kvm_release_page_dirty(page);
443 else 445 else