浏览代码

KVM: VMX: Avoid unnecessary vcpu_load()/vcpu_put() cycles

By checking if a reschedule is needed, we avoid dropping the vcpu.

[With changes by me, based on Anthony Liguori's observations]

Signed-off-by: Avi Kivity <avi@qumranet.com>
Yaozu Dong 18 年之前
父节点
当前提交
3fca036530
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      drivers/kvm/kvm_main.c

+ 2 - 0
drivers/kvm/kvm_main.c

@@ -1590,6 +1590,8 @@ static int set_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 data)
 
 void kvm_resched(struct kvm_vcpu *vcpu)
 {
+	if (!need_resched())
+		return;
 	vcpu_put(vcpu);
 	cond_resched();
 	vcpu_load(vcpu);