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

[xen staging] arm/irq: Reduce size of irq_desc array to exclude local IRQs



commit ca55852d39ec984530bbd9d29a6d714505fd3411
Author:     Mykola Kvach <xakep.amatop@xxxxxxxxx>
AuthorDate: Mon May 26 11:46:59 2025 +0300
Commit:     Michal Orzel <michal.orzel@xxxxxxx>
CommitDate: Wed May 28 11:39:00 2025 +0200

    arm/irq: Reduce size of irq_desc array to exclude local IRQs
    
    SGI and PPI descriptors are banked and stored in the per-CPU local_irq_desc
    array, so not all elements of the global irq_desc array are used. This is
    already accounted for in the descriptor lookup logic inside __irq_to_desc:
        return &irq_desc[irq - NR_LOCAL_IRQS];
    
    Therefore, the size of the irq_desc array can be reduced by NR_LOCAL_IRQS,
    saving (NR_LOCAL_IRQS * L1_CACHE_BYTES) bytes of memory.
    
    Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
    Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx>
---
 xen/arch/arm/irq.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index b9757d7ad3..03fbb90c6c 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -45,7 +45,7 @@ void irq_end_none(struct irq_desc *irq)
     gic_hw_ops->gic_host_irq_type->end(irq);
 }
 
-static irq_desc_t irq_desc[NR_IRQS];
+static irq_desc_t irq_desc[NR_IRQS - NR_LOCAL_IRQS];
 static DEFINE_PER_CPU(irq_desc_t[NR_LOCAL_IRQS], local_irq_desc);
 
 struct irq_desc *__irq_to_desc(unsigned int irq)
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

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