[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, 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.

> However gic_clear_lrs only iterates over the LRs in lr_mask, so even
> calling it multiple times shouldn't cause more work, the only slow down
> would be due to the spin_lock.

Xen-devel mailing list



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