From e8ec9696180473e1a1de6a904230d1064ab7c94b Mon Sep 17 00:00:00 2001 From: Avi Kivity Date: Tue, 20 Nov 2007 23:01:14 +0200 Subject: [PATCH] --- yaml --- r: 80767 b: refs/heads/master c: 0f74a24c59b814c1c8085251cbea48d339f0c7c6 h: refs/heads/master i: 80765: 8d2f52e37d9fb2435526559cd3f2579c1a4726ec 80763: 892b4ea89ee1e534c26a5b181d2a77b8a23bbc9b 80759: 4ea904b873a4f63e7ae817889b81939527eab54a 80751: 77b0903c8bcee45004aecfde2b87d85aed001270 80735: 0769b936a52e33ed5b9e406218fc2087e6ab20f1 80703: 4dee9cab2a458dddccb5f31abe8ffd53cf7f3186 80639: 4ec94ccb2de9dac565c2dade08a027ee7be0ad31 v: v3 --- [refs] | 2 +- trunk/drivers/kvm/kvm.h | 1 + trunk/drivers/kvm/kvm_main.c | 3 +++ trunk/drivers/kvm/x86.c | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 51f2f1583d6a..100a658b18c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e5a4c8cad952d6e060991841f3632578ab3ae133 +refs/heads/master: 0f74a24c59b814c1c8085251cbea48d339f0c7c6 diff --git a/trunk/drivers/kvm/kvm.h b/trunk/drivers/kvm/kvm.h index b65f5dee4b1b..048849d97b35 100644 --- a/trunk/drivers/kvm/kvm.h +++ b/trunk/drivers/kvm/kvm.h @@ -300,6 +300,7 @@ struct kvm_vm_stat { u32 mmu_pde_zapped; u32 mmu_flooded; u32 mmu_recycled; + u32 remote_tlb_flush; }; struct kvm { diff --git a/trunk/drivers/kvm/kvm_main.c b/trunk/drivers/kvm/kvm_main.c index 7939b5c9a4b4..aec6b67cfebb 100644 --- a/trunk/drivers/kvm/kvm_main.c +++ b/trunk/drivers/kvm/kvm_main.c @@ -115,6 +115,9 @@ void kvm_flush_remote_tlbs(struct kvm *kvm) if (cpu != -1 && cpu != raw_smp_processor_id()) cpu_set(cpu, cpus); } + if (cpus_empty(cpus)) + return; + ++kvm->stat.remote_tlb_flush; smp_call_function_mask(cpus, ack_flush, NULL, 1); } diff --git a/trunk/drivers/kvm/x86.c b/trunk/drivers/kvm/x86.c index b482b6a8a828..ac09f381f47f 100644 --- a/trunk/drivers/kvm/x86.c +++ b/trunk/drivers/kvm/x86.c @@ -73,6 +73,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { { "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) }, { "mmu_flooded", VM_STAT(mmu_flooded) }, { "mmu_recycled", VM_STAT(mmu_recycled) }, + { "remote_tlb_flush", VM_STAT(remote_tlb_flush) }, { NULL } };