diff options
author | Paul Mackerras <paulus@samba.org> | 2012-11-19 22:52:49 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-12-06 01:33:54 +0100 |
commit | 44e5f6be62741bd44968f40f3afa1cff1df983f2 (patch) | |
tree | 82476ebfb27757ed9ad146ab4ef5d072e58629a8 /arch/powerpc/include/asm/kvm_host.h | |
parent | 4879f241720cda3e6c18a1713bf9b2ed2de14ee4 (diff) | |
download | linux-44e5f6be62741bd44968f40f3afa1cff1df983f2.tar.bz2 |
KVM: PPC: Book3S HV: Add a mechanism for recording modified HPTEs
This uses a bit in our record of the guest view of the HPTE to record
when the HPTE gets modified. We use a reserved bit for this, and ensure
that this bit is always cleared in HPTE values returned to the guest.
The recording of modified HPTEs is only done if other code indicates
its interest by setting kvm->arch.hpte_mod_interest to a non-zero value.
The reason for this is that when later commits add facilities for
userspace to read the HPT, the first pass of reading the HPT will be
quicker if there are no (or very few) HPTEs marked as modified,
rather than having most HPTEs marked as modified.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/powerpc/include/asm/kvm_host.h')
-rw-r--r-- | arch/powerpc/include/asm/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index 3093896015f0..58c72646c445 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h @@ -248,6 +248,7 @@ struct kvm_arch { atomic_t vcpus_running; unsigned long hpt_npte; unsigned long hpt_mask; + atomic_t hpte_mod_interest; spinlock_t slot_phys_lock; unsigned short last_vcpu[NR_CPUS]; struct kvmppc_vcore *vcores[KVM_MAX_VCORES]; |