[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen 4.5 random freeze question
Already posted: http://marc.info/?l=xen-devel&m=141648092100568 Ian hasn't provided any feedback yet. On Thu, 20 Nov 2014, Andrii Tseglytskyi wrote: > 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 |