[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen 4.5 random freeze question
I think I'll debug this a bit later - unfortunately, now don't have time for this. But I want to get rid of spurious interrupt here. BTW - Stefano are you going to post the patch that we created yesterday ? Will Ian accept it? Regards, Andrii On Thu, Nov 20, 2014 at 1:15 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote: > On 11/20/2014 10:28 AM, Stefano Stabellini wrote: >> On Wed, 19 Nov 2014, Andrii Tseglytskyi wrote: >>> 19 ÐÐÑÑ. 2014 20:32, ÐÐÑÐÑÑÑÐÐÑ "Stefano Stabellini" >>> <stefano.stabellini@xxxxxxxxxxxxx> ÐÐÐÐÑÐÐ: >>>> >>>> On Wed, 19 Nov 2014, Julien Grall wrote: >>>>> On 11/19/2014 06:14 PM, Stefano Stabellini wrote: >>>>>> That's right, the maintenance interrupt handler is not called, but it >>>>>> doesn't do anything so we are fine. The important thing is that an >>>>>> interrupt is sent and git_clear_lrs gets called on hypervisor entry. >>>>> >>>>> It would be worth to write down this somewhere. Just in case someone >>>>> decide to add code in maintenance interrupt later. >>>> >>>> Yes, I could add a comment in the handler >>> >>> Maybe it wouldn't take a lot of effort to fix it? I am just worrying that >>> we may hide some issue - >>> typically spurious interrupt this not what is expected. >> >> My guess is that by clearing UIE before reading GICC_IAR, we "clear" the >> maintenance interrupt too, as a consequence the following read to >> GICC_IAR would return 1023 (nothing to be read). As bit as if the >> maintenance interrupt was a level interrupt and we just disabled it. >> >> So I think that if we cleared UIE after reading GICC_IAR, GICC_IAR would >> return the correct value. >> >> However with the current structure of the code, the first thing that we >> do upon entering the hypervisor is clearing LRs and given what happened >> on your platform I think is a good idea to do it with UIE disabled. > > Agreed. UIE should be disabled to avoid another maintenance interrupt as > soon as we EOI the IRQ. > >> This is way I would rather read spurious interrupts but read/write LRs >> with UIE disabled than reading maintenance interrupts but risking >> strange behaviours on some platforms. > > Reading the GIC-v2 documentation, the spurious interrupt things should > happen on any platform every time the UIE is disabled while we receive a > maintenance interrupt. > > "The read returns a spurious interrupt ID of 1023 if any of the > following apply: > > - no pending interrupt on the CPU interface has sufficient priority for > the interface to signal it to the processor" > > -- > Julien Grall -- Andrii Tseglytskyi | Embedded Dev GlobalLogic www.globallogic.com _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |