KVM: MMU: Only mark_page_accessed() if the page was accessed by the guest
If the accessed bit is not set, the guest has never accessed this page (at least through this spte), so there's no need to mark the page accessed. This provides more accurate data for the eviction algortithm. Noted by Andrea Arcangeli. Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
d39f13b0da
commit
fcd6dbac92
|
@ -549,7 +549,8 @@ static void rmap_remove(struct kvm *kvm, u64 *spte)
|
|||
return;
|
||||
sp = page_header(__pa(spte));
|
||||
page = spte_to_page(*spte);
|
||||
mark_page_accessed(page);
|
||||
if (*spte & PT_ACCESSED_MASK)
|
||||
mark_page_accessed(page);
|
||||
if (is_writeble_pte(*spte))
|
||||
kvm_release_page_dirty(page);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue