diff options
author | Izik Eidus <izike@qumranet.com> | 2007-11-26 07:08:14 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 10:53:15 -0500 |
commit | 448353caeab1d9180f12194a80790859ddbeebd5 (patch) | |
tree | a2abe706462d493588bfc660b6610a0f23a25a49 /drivers/kvm/mmu.c | |
parent | eb9774f0d675922d780f23cbb747f474b0573dea (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.c | 2 |
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 |