Re: [PATCH v3 2/2] KVM: x86/xen: Stop Xen timer before changing IRQ

From: Paolo Bonzini
Date: Tue Aug 09 2022 - 10:32:28 EST


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.

Paolo