On 08/30/2010 11:47 PM, Marcelo Tosatti wrote: > 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). > Yeah. it's the best way that not rate limit it, but... > 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? > There is a simply test in the guest if it's not rate limit: # time ls anaconda-ks.cfg Documents install.log Music Public Videos Desktop Downloads install.log.syslog Pictures Templates real 1m26.053s user 0m0.311s sys 0m1.813s 'ls' command cost about 1.5 minute, if we run the memory test program, i think the time/delay is unacceptable...... :-( -- 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