[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Spurious Interrupts on guest OS
Thanks Stefano. I will try the fix. Best, Ashish > -----Original Message----- > From: Stefano Stabellini [mailto:stefano.stabellini@xxxxxxxxxxxxx] > Sent: Monday, June 02, 2014 7:46 AM > To: Ian Campbell > Cc: Kapania, Ashish; Stefano Stabellini; xen-users@xxxxxxxxxxxxx > Subject: Re: [Xen-users] Spurious Interrupts on guest OS > > On Fri, 30 May 2014, Ian Campbell wrote: > > On Fri, 2014-05-30 at 02:40 +0000, Kapania, Ashish wrote: > > > Hi All, > > > > Copying Stefano who has a series in progress which I have a feeling > > includes addressing some spurious interrupt issues. > > > > > > > > > > > > > > I am trying to run a RTOS as a guest on a OMAP5432 evm and am > seeing > > > a spurious interrupt problem when programming the virtual timer > > > interrupts. My RTOS test case uses the A15 Virtual timer to create > a > > > timer instance. Once programmed, the virtual timer interrupt is > > > injected into my guestâs virtual CPU interface as expected and the > > > interrupt is also forwarded to my guest. At this point, my RTOSâs > > > IRQ service routine is invoked which among other things reads > > > GICV_IAR register to acknowledge the interrupt and then re-enables > > > IRQs (to support nested interrupts) before calling the timer > handler > > > which is suppose to program the CNTV_CVAL register for the next > > > tick. I notice that as soon as interrupts are re-enabled, the ISR > is > > > interrupted and the IRQ service routine is called again. However, > > > this time GICV_IAR register returns 1023. Once the ISR detects a > > > spurious interrupt and returns, it gets interrupted again with > > > another spurious interrupt. I see that the guest is flooded with > > > these spurious interrupts and is not able to complete servicing the > original virtual timer interrupt. > > > > > > > > > > > > If I disable nesting (i.e. do not re-enable IRQs in my service > > > routine), everything works as expected which makes me wonder if the > > > spurious interrupts are related to the virtual timer. I tried > adding > > > a debug print in vgic_vcpu_inject_irq to see if xen was injecting > > > some high priority interrupt but found that xen only injects a > > > single virtual timer PPI. > > > > > > > > > > > > Has anyone seen this behavior or has suggestions on how to debug > > > this problem further ? > > Hi Ashish, > yes, I have seen this behaviour with a FreeRTOS guest. This patch > series should fix the issue: > > http://marc.info/?l=xen-devel&m=140076202414100 > > A git url is available at the bottom of the email. _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |