]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
LoongArch: KVM: Remove timer interrupt injection when SW timer expired
authorBibo Mao <maobibo@loongson.cn>
Thu, 11 Jun 2026 12:46:43 +0000 (20:46 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Thu, 11 Jun 2026 12:46:43 +0000 (20:46 +0800)
The software timer emulation is to wake up vCPU when the vCPU executes
idle instruction and gives up host CPU, the vCPU timer tick value and
interrupt is set when vCPU is scheduled in.

It is not necessary to inject timer interrupt when SW timer is expired.
Here remove it, also use common API kvm_vcpu_wake_up() to wake up vCPU.

Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/kvm/timer.c

index 8356fce0043f6093a1e61d669871201c17e4859f..3829f35a4070b53d2ccf5364db6f4ff7f7bc2914 100644 (file)
@@ -30,8 +30,7 @@ enum hrtimer_restart kvm_swtimer_wakeup(struct hrtimer *timer)
        struct kvm_vcpu *vcpu;
 
        vcpu = container_of(timer, struct kvm_vcpu, arch.swtimer);
-       kvm_queue_irq(vcpu, INT_TI);
-       rcuwait_wake_up(&vcpu->wait);
+       kvm_vcpu_wake_up(vcpu);
 
        return HRTIMER_NORESTART;
 }