[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen: do not unmask disabled IRQ on eoi.



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?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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