On Tue, 2022-08-09 at 16:31 +0200, Paolo Bonzini wrote:
On 8/9/22 16:16, David Woodhouse wrote:
I find the new version a bit harder to follow, with its init-then-stop- then-start logic:
case KVM_XEN_VCPU_ATTR_TYPE_TIMER: if (data->u.timer.port && data->u.timer.priority != KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL) { r = -EINVAL; break; }
if (!vcpu->arch.xen.timer.function) kvm_xen_init_timer(vcpu); /* Stop the timer (if it's running) before changing the vector */ kvm_xen_stop_timer(vcpu); vcpu->arch.xen.timer_virq = data->u.timer.port;
I think this is fine, if anything the kvm_xen_stop_timer() call could be placed in an "else" but I'm leaning towards applying this version of the patch.
Fair enough. It should definitely work, and is functionally identical in all interesting cases. In that case, for both of the patches from this v3 series:
Acked-by: David Woodhouse dwmw@amazon.co.uk
Thanks.