KVM: Add statistic for remote tlb flushes
Signed-off-by: Avi Kivity <avi@qumranet.com>
This commit is contained in:
parent
e5a4c8cad9
commit
0f74a24c59
3 changed files with 5 additions and 0 deletions
|
@ -300,6 +300,7 @@ struct kvm_vm_stat {
|
||||||
u32 mmu_pde_zapped;
|
u32 mmu_pde_zapped;
|
||||||
u32 mmu_flooded;
|
u32 mmu_flooded;
|
||||||
u32 mmu_recycled;
|
u32 mmu_recycled;
|
||||||
|
u32 remote_tlb_flush;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct kvm {
|
struct kvm {
|
||||||
|
|
|
@ -115,6 +115,9 @@ void kvm_flush_remote_tlbs(struct kvm *kvm)
|
||||||
if (cpu != -1 && cpu != raw_smp_processor_id())
|
if (cpu != -1 && cpu != raw_smp_processor_id())
|
||||||
cpu_set(cpu, cpus);
|
cpu_set(cpu, cpus);
|
||||||
}
|
}
|
||||||
|
if (cpus_empty(cpus))
|
||||||
|
return;
|
||||||
|
++kvm->stat.remote_tlb_flush;
|
||||||
smp_call_function_mask(cpus, ack_flush, NULL, 1);
|
smp_call_function_mask(cpus, ack_flush, NULL, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,6 +73,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
|
||||||
{ "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) },
|
{ "mmu_pde_zapped", VM_STAT(mmu_pde_zapped) },
|
||||||
{ "mmu_flooded", VM_STAT(mmu_flooded) },
|
{ "mmu_flooded", VM_STAT(mmu_flooded) },
|
||||||
{ "mmu_recycled", VM_STAT(mmu_recycled) },
|
{ "mmu_recycled", VM_STAT(mmu_recycled) },
|
||||||
|
{ "remote_tlb_flush", VM_STAT(remote_tlb_flush) },
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue