| Subject | Re: [RFC PATCH 13/16] RISC-V: KVM: Add timer functionality | From | Paolo Bonzini <> | Date | Tue, 30 Jul 2019 13:26:38 +0200 |
| |
On 29/07/19 13:57, Anup Patel wrote: > + if (delta_ns > VCPU_TIMER_PROGRAM_THRESHOLD_NS) { > + hrtimer_start(&t->hrt, ktime_add_ns(ktime_get(), delta_ns),
I think the guest would prefer if you saved the time before enabling interrupts on the host, and use that here instead of ktime_get(). Otherwise the timer could be delayed arbitrarily by host interrupts.
(Because the RISC-V SBI timer is relative only---which is unfortunate---guests will already pay a latency price due to the extra cost of the SBI call compared to a bare metal implementation. Sooner or later you may want to implement something like x86's heuristic to advance the timer deadline by a few hundred nanoseconds; perhaps add a TODO now).
Paolo
> + HRTIMER_MODE_ABS); > + t->is_set = true; > + } else > + kvm_riscv_vcpu_set_interrupt(vcpu, IRQ_S_TIMER); > +
|