]> git.dujemihanovic.xyz Git - linux.git/commit
s390/pci: provide support for CPU directed interrupts
authorSebastian Ott <sebott@linux.ibm.com>
Thu, 27 Sep 2018 11:57:12 +0000 (13:57 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 29 Apr 2019 08:47:01 +0000 (10:47 +0200)
commite979ce7bced2ee019b5b1a040295484bd7f23680
treec2c7b88423ea2011ab2bab5fa05f5c393d5b9493
parent414cbd1e3d14ec0e60666a0fb9d8ae2d77eb7c63
s390/pci: provide support for CPU directed interrupts

Up until now all interrupts on s390 have been floating. For MSI interrupts
we've used a global summary bit vector (with a bit for each function) and
a per-function interrupt bit vector (with a bit per MSI).

This patch introduces a new IRQ delivery mode: CPU directed interrupts.
In this new mode a per-CPU interrupt bit vector is used (with a bit per
MSI per function). Further it is now possible to direct an IRQ to a
specific CPU so we can finally support IRQ affinity.

If an interrupt can't be delivered because the appointed CPU is occupied
by a hypervisor the interrupt is delivered floating. For this a global
summary bit vector is used (with a bit per CPU).

Signed-off-by: Sebastian Ott <sebott@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/pci.h
arch/s390/include/asm/pci_clp.h
arch/s390/include/asm/pci_insn.h
arch/s390/pci/pci_insn.c
arch/s390/pci/pci_irq.c