Re: [PATCH v2 5/5] KVM: MMU: lower the aduit frequency

Marcelo Tosatti
2010-08-30T15:47:19Z

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@cn.fujitsu.com>
> ---
> 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?