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@epam.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
This commit is contained in:
Mykola Kvach authored and Michal Orzel committed 2025-05-28 11:39:00 +02:00
1 parent fcf7cf2159
commit ca55852d39
1 file changed
+1 -1
+1 -1
View File
@@ -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)
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.