On Mon, Aug 30, 2010 at 06:26:33PM +0800, Xiao Guangrong wrote: > The audit is very high overhead, so we need lower the frequency to assure the guest running > > Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxx> > --- > arch/x86/kvm/mmu_audit.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kvm/mmu_audit.c b/arch/x86/kvm/mmu_audit.c > index 3bde186..bd2b1be 100644 > --- a/arch/x86/kvm/mmu_audit.c > +++ b/arch/x86/kvm/mmu_audit.c > @@ -17,6 +17,8 @@ > * > */ > > +#include <linux/ratelimit.h> > + > static const char *audit_msg; > > typedef void (*inspect_spte_fn) (struct kvm_vcpu *vcpu, u64 *sptep, int level); > @@ -228,6 +230,11 @@ static void audit_vcpu_spte(struct kvm_vcpu *vcpu) > > static void kvm_mmu_audit(void *ignore, struct kvm_vcpu *vcpu, int audit_point) > { > + static DEFINE_RATELIMIT_STATE(ratelimit_state, 5 * HZ, 10); > + > + if (!__ratelimit(&ratelimit_state)) > + return; > + > audit_msg = audit_point_name[audit_point]; > audit_all_active_sps(vcpu->kvm); > audit_vcpu_spte(vcpu); > -- > 1.7.0.4 Well, as Avi said this makes it difficult to trace back to offender (the audit points are placed around modifications to the shadow page tree for that reason). I've always seen progress from the guest while running with audit enabled (its slow, but its not supposed to be fast anyway). Did you experience a freeze? -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html