summaryrefslogtreecommitdiffstats
path: root/drivers/irqchip
diff options
context:
space:
mode:
authorBartosz Golaszewski2018-11-09 18:21:32 +0100
committerMarc Zyngier2018-12-13 10:35:31 +0100
commit06459901d55ee2f690b8e1fe084fb03061d617cf (patch)
tree80ca6e836924930684dfaa8ee308267ad71e5e5e /drivers/irqchip
parentplatform-msi: Free descriptors in platform_msi_domain_free() (diff)
downloadkernel-qcow2-linux-06459901d55ee2f690b8e1fe084fb03061d617cf.tar.gz
kernel-qcow2-linux-06459901d55ee2f690b8e1fe084fb03061d617cf.tar.xz
kernel-qcow2-linux-06459901d55ee2f690b8e1fe084fb03061d617cf.zip
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>
Diffstat (limited to 'drivers/irqchip')
0 files changed, 0 insertions, 0 deletions