[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v9 07/10] xen: remove workaround to inject evtchn_irq on irq enable

On Fri, 25 Jul 2014, Jan Beulich wrote:
> >>> On 24.07.14 at 19:33, <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> > evtchn_upcall_pending is already set by common code at vcpu creation,
> > therefore on ARM we also need to call vgic_vcpu_inject_irq for it.
> > Currently we do that from vgic_enable_irqs as a workaround.
> > 
> > Do this properly by introducing an appropriate arch specific hook:
> > arch_evtchn_inject. arch_evtchn_inject is called by map_vcpu_info to
> > inject the evtchn irq into the guest. On ARM is implemented by calling
> > vgic_vcpu_inject_irq, on x86 is unneeded.
> >From a mechanical pov this has my ack,

> but I still don't see why ARM needs what x86 (even for HVM) appears to
> get along fine without.

Good question.
x86 PV guests have in xen_irq_enable:

if (unlikely(vcpu->evtchn_upcall_pending))

Also xen_irq_enable_direct calls check_events.

I suspect that PV on HVM guests that get events via gsi interrupts get
away without it because they only call VCPUOP_register_vcpu_info on
secondary cpus.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.