|
@@ -1538,7 +1538,7 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
|
|
restore_access_regs(vcpu->run->s.regs.acrs);
|
|
|
gmap_enable(vcpu->arch.gmap);
|
|
|
atomic_or(CPUSTAT_RUNNING, &vcpu->arch.sie_block->cpuflags);
|
|
|
- if (vcpu->arch.cputm_enabled)
|
|
|
+ if (vcpu->arch.cputm_enabled && !is_vcpu_idle(vcpu))
|
|
|
__start_cpu_timer_accounting(vcpu);
|
|
|
vcpu->cpu = cpu;
|
|
|
}
|
|
@@ -1546,7 +1546,7 @@ void kvm_arch_vcpu_load(struct kvm_vcpu *vcpu, int cpu)
|
|
|
void kvm_arch_vcpu_put(struct kvm_vcpu *vcpu)
|
|
|
{
|
|
|
vcpu->cpu = -1;
|
|
|
- if (vcpu->arch.cputm_enabled)
|
|
|
+ if (vcpu->arch.cputm_enabled && !is_vcpu_idle(vcpu))
|
|
|
__stop_cpu_timer_accounting(vcpu);
|
|
|
atomic_andnot(CPUSTAT_RUNNING, &vcpu->arch.sie_block->cpuflags);
|
|
|
gmap_disable(vcpu->arch.gmap);
|