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

Re: [Xen-devel] [PATCH v2 06/21] xen/arm: Allow virq != irq



On Wed, 6 Aug 2014, Julien Grall wrote:
> Hi Stefano,
> 
> On 08/06/2014 03:50 PM, Stefano Stabellini wrote:
> >> -int route_irq_to_guest(struct domain *d, unsigned int irq,
> >> -                       const char * devname)
> >> +int route_irq_to_guest(struct domain *d, unsigned int virq,
> >> +                       unsigned int irq, const char * devname)
> >>  {
> >>      struct irqaction *action;
> >> -    struct irq_desc *desc = irq_to_desc(irq);
> >> +    struct irq_guest *info;
> >> +    struct irq_desc *desc;
> >>      unsigned long flags;
> >>      int retval = 0;
> >>  
> >>      action = xmalloc(struct irqaction);
> >> -    if (!action)
> >> +    if ( !action )
> >> +        return -ENOMEM;
> >> +
> >> +    info = xmalloc(struct irq_guest);
> >> +    if ( !info )
> >> +    {
> >> +        xfree(action);
> >>          return -ENOMEM;
> >> +    }
> > 
> > Rather than xmalloc'ing another struct and storing the pointer in
> > dev_id, maybe we could simply expand struct arch_irq_desc?
> 
> I though about it. If we add another field in arch_irq_desc, we will
> likely use more memory than xmalloc. This is because most of the
> platform doesn't use 1024 interrupts but about 256 interrupts.
> 
> As the new field will be a pointer (on ARM64, 8 bytes), that would make
> Xen use statically about 8K more.

OK


> We could allocate irq_desc dynamically during Xen boot.

Let's leave it as is.

Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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