[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 07/10] xen/arm: call gic_clear_lrs on entry to the hypervisor
On Fri, 21 Mar 2014, Ian Campbell wrote: > On Fri, 2014-03-21 at 16:34 +0000, Stefano Stabellini wrote: > > On Fri, 21 Mar 2014, Ian Campbell wrote: > > > On Wed, 2014-03-19 at 12:32 +0000, Stefano Stabellini wrote: > > > > > > Can this not be folded back into the patch which added this function? > > > > Yes, it can. > > > > > > > > This change is needed by other patches later on. It is going to make > > > > sure that the calculation in Xen of the highest priority interrupt > > > > currently inflight is correct and accurate and not based on stale data. > > > > > > Hrm, can we not do this on demand just at the point where we are about > > > to make such a calculation? There are going to be lots of hypervisor > > > entries which don't want to do anything at all with interrupts, aren't > > > there? > > > > The alternative would be calling gic_clear_lrs at the beginning of > > gic_inject and gic_events_need_delivery, that is called by > > local_events_need_delivery*. It could be called multiple times before > > returning to guest. > > We could probably invent some sort of "once per h/v entry" construct, > but ick. > > What I was actually thinking of though was to do it even further up -- > e.g. in the function which makes the interrupt pending in the first > place. I suppose that is called too infrequently though in the absence > of maintenance interrupts. Yes, that function would not be called often enough: in order to calculate correctly if events need delivery, we need to know the current value of GICV_PMR.Priority, that is aliased by GICH_VMCR and can be changed by the guest without traps, and the current active highest priority interrupt in the LRs. As a consequence I think that gic_events_need_delivery needs to be called at least once before returning to guest. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |