linux/kernel/irq
Shanker Donthineni bc06a9e087 genirq: Use hlist for managing resend handlers
The current implementation utilizes a bitmap for managing interrupt resend
handlers, which is allocated based on the SPARSE_IRQ/NR_IRQS macros.
However, this method may not efficiently utilize memory during runtime,
particularly when IRQ_BITMAP_BITS is large.

Address this issue by using an hlist to manage interrupt resend handlers
instead of relying on a static bitmap memory allocation. Additionally, a
new function, clear_irq_resend(), is introduced and called from
irq_shutdown to ensure a graceful teardown of the interrupt.

Signed-off-by: Shanker Donthineni <sdonthineni@nvidia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20230519134902.1495562-2-sdonthineni@nvidia.com
2023-05-24 11:39:44 +02:00
..
affinity.c genirq/affinity: Move group_cpus_evenly() into lib/ 2023-01-17 18:50:06 +01:00
autoprobe.c
chip.c genirq: Use hlist for managing resend handlers 2023-05-24 11:39:44 +02:00
cpuhotplug.c
debug.h
debugfs.c
devres.c
dummychip.c
generic-chip.c
handle.c
internals.h genirq: Use hlist for managing resend handlers 2023-05-24 11:39:44 +02:00
ipi-mux.c genirq/ipi-mux: Use irq_domain_alloc_irqs() 2023-02-06 17:21:15 +00:00
ipi.c genirq/ipi: Fix NULL pointer deref in irq_data_get_affinity_mask() 2023-02-20 13:53:41 +01:00
irq_sim.c
irqdesc.c genirq: Use hlist for managing resend handlers 2023-05-24 11:39:44 +02:00
irqdomain.c A set of updates for the interrupt susbsystem: 2023-03-05 11:19:16 -08:00
Kconfig genirq: Add mechanism to multiplex a single HW IPI 2023-02-05 10:57:55 +00:00
Makefile genirq: Add mechanism to multiplex a single HW IPI 2023-02-05 10:57:55 +00:00
manage.c genirq: Update affinity of secondary threads 2023-04-15 10:17:16 +02:00
matrix.c
migration.c
msi.c A set of updates for the interrupt susbsystem: 2023-03-05 11:19:16 -08:00
pm.c
proc.c
resend.c genirq: Use hlist for managing resend handlers 2023-05-24 11:39:44 +02:00
settings.h
spurious.c
timings.c