kernel_optimize_test/kernel/irq
Bartosz Golaszewski 06459901d5 irq/irq_sim: Store multiple interrupt offsets in a bitmap
Two threads can try to fire the irq_sim with different offsets and will
end up fighting for the irq_work asignment. Thomas Gleixner suggested a
solution based on a bitfield where we set a bit for every offset
associated with an interrupt that should be fired and then iterate over
all set bits in the interrupt handler.

This is a slightly modified solution using a bitmap so that we don't
impose a limit on the number of interrupts one can allocate with
irq_sim.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-12-13 09:35:31 +00:00
..
affinity.c genirq/affinity: Spread irq vectors among present CPUs as far as possible 2018-04-06 12:19:51 +02:00
autoprobe.c genirq: Cleanup top of file comments 2018-03-20 14:23:27 +01:00
chip.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
cpuhotplug.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
debug.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk 2018-02-01 13:36:15 -08:00
debugfs.c genirq/debugfs: Add missing IRQCHIP_SUPPORTS_LEVEL_MSI debug 2018-06-22 14:22:00 +02:00
devres.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
dummychip.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
generic-chip.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
handle.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
internals.h genirq: Make legacy autoprobing work again 2018-02-01 11:09:40 +01:00
ipi.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
irq_sim.c irq/irq_sim: Store multiple interrupt offsets in a bitmap 2018-12-13 09:35:31 +00:00
irqdesc.c genirq: Use rcu in kstat_irqs_usr() 2018-06-19 09:19:40 +02:00
irqdomain.c genirq: Fix grammar s/an /a / 2018-10-09 07:50:41 +02:00
Kconfig genirq/irqchip: Remove MULTI_IRQ_HANDLER as it's now obselete 2018-08-03 12:14:10 +02:00
Makefile
manage.c genirq: Fix race on spurious interrupt detection 2018-10-19 17:31:00 +02:00
matrix.c irq/matrix: Fix memory overallocation 2018-11-01 10:00:38 +01:00
migration.c genirq/migration: Avoid out of line call if pending is not set 2018-06-06 15:18:20 +02:00
msi.c genirq/msi: Allow level-triggered MSIs to be exposed by MSI providers 2018-05-13 15:58:59 +02:00
pm.c genirq: Add missing SPDX identifiers 2018-03-20 14:23:28 +01:00
proc.c genirq: Speedup show_interrupts() 2018-06-22 14:22:58 +02:00
resend.c genirq: Cleanup top of file comments 2018-03-20 14:23:27 +01:00
settings.h
spurious.c genirq: Cleanup top of file comments 2018-03-20 14:23:27 +01:00
timings.c genirq: Remove license boilerplate/references 2018-03-20 14:23:28 +01:00