hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
kernel/virt/kvm/arm/arch_timer.c
....@@ -67,7 +67,7 @@
6767 static void soft_timer_start(struct hrtimer *hrt, u64 ns)
6868 {
6969 hrtimer_start(hrt, ktime_add_ns(ktime_get(), ns),
70
- HRTIMER_MODE_ABS);
70
+ HRTIMER_MODE_ABS_HARD);
7171 }
7272
7373 static void soft_timer_cancel(struct hrtimer *hrt, struct work_struct *work)
....@@ -638,10 +638,10 @@
638638 vcpu_ptimer(vcpu)->cntvoff = 0;
639639
640640 INIT_WORK(&timer->expired, kvm_timer_inject_irq_work);
641
- hrtimer_init(&timer->bg_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
641
+ hrtimer_init(&timer->bg_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD);
642642 timer->bg_timer.function = kvm_bg_timer_expire;
643643
644
- hrtimer_init(&timer->phys_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
644
+ hrtimer_init(&timer->phys_timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD);
645645 timer->phys_timer.function = kvm_phys_timer_expire;
646646
647647 vtimer->irq.irq = default_vtimer_irq.irq;