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

Re: [Xen-devel] [PATCH-4.5 0/4] remove maintenance interrupts

On 07/02/14 18:56, Stefano Stabellini wrote:
Hi all,

Hi Stefano,

this patch series removes any needs for maintenance interrupts for both
hardware and software interrupts in Xen.
It achieves the goal by using the GICH_LR_HW bit for hardware interrupts
and by checking the status of the GICH_LR registers on return to guest,
clearing the registers that are invalid and handling the lifecycle of
the corresponding interrupts in Xen data structures.

After reading your patch series I see a possible race condition with the timer interrupt.

As you know, Xen can re-inject the timer interrupt before the previous one is EOIed. As it's the timer, the IRQ is injected on the current running VCPU.

  -> IRQ already visible to the guest -> set PENDING
return to guest context
<--------------------- Guest EOI the IRQ
.... few milleseconds
going to hyp mode
  -> doing stuff
  -> reinject the timer IRQ

If I'm not mistaken, with your solution, the next IRQ can be delayed for few milliseconds. That could be fixed by updating the Lrs.

Julien Grall

Xen-devel mailing list



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