|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi.
On Fri, 2010-10-22 at 09:29 +0100, Jan Beulich wrote:
> >>> On 22.10.10 at 10:07, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> wrote:
> > On Fri, 2010-10-22 at 08:41 +0100, Jan Beulich wrote:
> >> >>> On 21.10.10 at 15:36, Stefano Stabellini
> >> >>> <stefano.stabellini@xxxxxxxxxxxxx> wrote:
> >> > --- a/drivers/xen/events.c
> >> > +++ b/drivers/xen/events.c
> >> > @@ -436,21 +436,50 @@ static bool identity_mapped_irq(unsigned irq)
> >> > return irq < get_nr_hw_irqs();
> >> > }
> >> >
> >> > -static void pirq_eoi(unsigned int irq)
> >> > +static void eoi_pirq(unsigned int irq)
> >> > {
> >> > struct irq_info *info = info_for_irq(irq);
> >> > struct physdev_eoi eoi = { .irq = info->u.pirq.gsi };
> >> > - bool need_eoi;
> >> > + int evtchn = evtchn_from_irq(irq);
> >> > + int rc = 0, need_mask = 0;
> >> > + struct shared_info *s = HYPERVISOR_shared_info;
> >> >
> >> > - need_eoi = pirq_needs_eoi(irq);
> >> > + if (!VALID_EVTCHN(evtchn))
> >> > + return;
> >> >
> >> > - if (!need_eoi || !pirq_eoi_does_unmask)
> >> > - unmask_evtchn(info->evtchn);
> >> > + move_masked_irq(irq);
> >>
> >> It's not clear whether calling this function is valid when the IRQ isn't
> >> really masked.
> >>
> >> In any case I'd suggest adding an IRQ_DISABLED check matching
> >> move_native_irq()'s.
> >
> > Why not just call move_native_irq instead of move_masked_irq as
> > appropriate?
>
> That was what I implied with the first part of my response.
Too subtle for me ;-)
> But I think the second part applies if a (the conditional) call to
> move_masked_irq() would stay.
Agreed, although I suspect we should know if the evtchn is masked or not
at this point depending on the already known properties of the
particular pirq (need_eoi, pirq_eoi_does_unmask etc).
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., (continued)
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Jan Beulich
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Stefano Stabellini
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Jan Beulich
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Ian Campbell
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Jan Beulich
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi.,
Ian Campbell <=
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Stefano Stabellini
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Jan Beulich
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Stefano Stabellini
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Stefano Stabellini
- Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi., Stefano Stabellini
|
|
|
|
|