summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorXiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>2013-05-31 08:36:29 +0800
committerGleb Natapov <gleb@redhat.com>2013-06-05 12:33:33 +0300
commit365c886860c4ba670d245e762b23987c912c129a (patch)
tree81f59edf5ba5e4c944d5590a631bbd23419e2cd8 /arch/x86/include
parentf34d251d66ba263c077ed9d2bbd1874339a4c887 (diff)
downloadop-kernel-dev-365c886860c4ba670d245e762b23987c912c129a.zip
op-kernel-dev-365c886860c4ba670d245e762b23987c912c129a.tar.gz
KVM: MMU: reclaim the zapped-obsolete page first
As Marcelo pointed out that | "(retention of large number of pages while zapping) | can be fatal, it can lead to OOM and host crash" We introduce a list, kvm->arch.zapped_obsolete_pages, to link all the pages which are deleted from the mmu cache but not actually freed. When page reclaiming is needed, we always zap this kind of pages first. Signed-off-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/kvm_host.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index bff7d46..1f98c1b 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -536,6 +536,8 @@ struct kvm_arch {
* Hash table of struct kvm_mmu_page.
*/
struct list_head active_mmu_pages;
+ struct list_head zapped_obsolete_pages;
+
struct list_head assigned_dev_head;
struct iommu_domain *iommu_domain;
int iommu_flags;
OpenPOWER on IntegriCloud